如何修复Windows给我的应用程序错误的AD身份?

时间:2019-05-29 07:54:19

标签: asp.net authentication

我的应用程序使用Angular前端与C#后端配对。 为了确定当前坐在电脑前的人,我使用C#/ASP.NET的{​​{1}}。

现在,不存在编码问题,我的问题是Windows不断发出错误的Current.User.Identity。从昨天开始就发生了。我的网站不断告诉我我是Identity,而不是我现在正在使用的用户帐户。

我想这可能与我使用IISAdmin的凭据添加几个网络共享(快速访问服务器)并勾选“保存凭据”复选框有关。

通常,当我部署补丁程序时,我只是通过资源管理器手动连接到服务器,然后手动输入凭据。我已经做过多次了,这从来都不是问题。

这是有点奇怪的地方。我尝试以用户身份显式启动IISAdmin,它只是将窗口合并到我已经拥有的现有Chrome窗口中。打开我的网络应用Chrome

我完全关闭了IISAdmin,再次以我的用户Chrome的身份明确启动了它。 以我可以访问的虚拟帐户启动IISAdminChrome会正确打开一个新的Chrome窗口,并且Chrome确认我已按照Dummy的身份登录。

User.Identity的行为完全相同,因此这与浏览器无关。

即使在完全重启后,这仍然是一个问题。重新启动后,网络共享已被删除,我认为它们是临时的。

Windows应该分发我的标准问题用户帐户auth,而不是刚刚保存在某处的功能强大的超级管理员。

1 个答案:

答案 0 :(得分:0)

与一些同事交谈后,他们指出了解决方案。

如果您遇到这种情况:

  • 转到系统控制/凭据管理器/ Windows凭据 (黄金保险箱)

  • 删除有冲突的凭据

起初我没有意识到这一点,但是当您创建网络共享并保存凭据时,它将凭据保存在此处。 我没想到的是Windows将服务器的文件路径映射到服务器的实际IP / DNS地址。

因此,每当您连接到所述服务器时,Windows就会使用它拥有的已保存凭据,并且由于Kerberos的工作方式,您现有的令牌也将得到处理。

即使您以普通用户身份明确启动Chrome,也会使事情变得有些混乱。