【发布时间】:2013-05-09 14:31:36
【问题描述】:
几周前我创建帐户时出现拼写错误。我更改了帐户,他们可以使用新名称登录域。但是,我们内部有一个 Web 应用程序仍在使用错误的名称。
.net 应用程序使用
System.Security.Principal.WindowsIdentity.GetCurrent().Name;
它给出了旧名称。
如果我使用
Environment.UserName
我得到了正确的新名称。我在 AD 中错过了什么?有没有地方我可以更改名称,这将导致 System.Security.Principal.WindowsIdentity.GetCurrent().Name;给出正确的名字?
我没有使用 .net 的经验,所以如果问题有一个明显的答案,我很抱歉。
【问题讨论】:
-
有没有可能缓存在 Web 应用程序/服务器中?
-
每个用户都有两个登录名:
User logon name和User logon name (pre-Windows 2000)。确保你已经更正了这两个。 -
很可能就是这种情况。我会在下班后的几个小时内尝试这样做(以防万一出现问题)
-
除此之外,名称可以被服务器缓存。见KB946358。
-
@Alex 我确实有。这似乎仍然是最合乎逻辑的解释。 Windows 身份返回域\用户名,这是 Windows 2000 之前的登录名。但我正在查看它,因为我键入并且名称匹配。
标签: c# .net windows-authentication