根据 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 中的登录名不匹配的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法
使用 Windows 身份验证禁用对 ASP.NET 应用程序的子文件夹的身份验证