根据 ASP.NET Windows 身份验证的用户名与 Active Directory 中的登录名不匹配

Posted

技术标签:

【中文标题】根据 ASP.NET Windows 身份验证的用户名与 Active Directory 中的登录名不匹配【英文标题】:Username according to ASP.NET Windows auth doesn't match logon name in Active Directory 【发布时间】:2010-07-29 14:35:34 【问题描述】:

我的同事今天更改了他在 Active Directory 中的用户登录名,以符合新的公司登录名政策。

在他的机器上,%username% 环境变量现在显示新的登录名。

我们使用 Windows 身份验证 (NTLM) 的 Intranet 仍在报告他的旧用户名(通过 Page.User.Identity.Name)。

我知道 ASP.NET 可以缓存用户凭据,但我们已经停止并重新启动了应用程序池,但仍然出现此症状。

谁能告诉我可能会发生什么?

【问题讨论】:

【参考方案1】:

这是由SID 缓存在网络服务器上引起的问题。 WindowsPrincipal 是从缓存中检索的,清除缓存的唯一方法是重新启动 Web 服务器计算机。您可以应用一些代码更改(使用 Windows API 检索),但我建议您快速重启。

【讨论】:

以上是关于根据 ASP.NET Windows 身份验证的用户名与 Active Directory 中的登录名不匹配的主要内容,如果未能解决你的问题,请参考以下文章

Windows 身份验证 Asp.net 知道如何

ASP.NET Windows 和窗体身份验证

ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法

使用 Windows 身份验证禁用对 ASP.NET 应用程序的子文件夹的身份验证

具有 Windows 身份验证的 ASP .NET 身份和数据库中的角色

ASP.NET 2.0 中的 Windows 身份验证