gpt4 book ai didi

c# - 使用 ADFS 时的用户名

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:45 25 4
gpt4 key购买 nike

您好,我正在更改我的 MVC 5 应用程序以通过 ADFS 进行身份验证。

在 SessionStart 中使用我的 global.asax.cs 文件,我有以下方法:

DoUserLogIn(Request.LogonUserIdentity, Session);

下面是简化的方法实现

private void DoUserLogIn(WindowsIdentity user, HttpSessionState session)
{
session["UserDisplayName"] = user.Name;
}

这在 ADFS 和显示用户名之前有效。但是现在使用 ADFS,显示的用户名是应用程序在 IIS 下运行的服务帐户用户。我应该使用什么来获取使用 SSO 和 ADFS 访问应用程序的用户的实际用户名?

最佳答案

假设您以最常见的方式进行设置,您应该能够通过访问 ClaimsPrincipal 类来访问当前用户的名称:

使用 Thread.CurrentPrincipal 并在使用前确保它是一个 ClaimsPrincipal。

即(Thread.CurrentPrincipal 作为 System.Security.Claims.ClaimsPrincipal).Identity

http://msdn.microsoft.com/en-us/library/system.security.claims.claimsidentity(v=vs.110).aspx

ClaimsIdentity 类的 name 属性应该给你你想要的

关于c# - 使用 ADFS 时的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26304220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com