2

我目前正在开发一个涉及用户使用 Windows 身份验证登录的 ASP .NET 应用程序。这会导致 HTTPContext.User 和 Thread.Principal 都设置为使用与登录用户相同的凭据,这是预期的行为,而 WindowsIdentity 保持为 IIS .NET AppPool 用户。

我最近在应用程序日志中注意到,似乎有一个请求(通常是加载页面时的第 5 次请求),其中 WindowsIdentity 以 IIS 用户身份开始,但最终被提升为正在登录的用户。

这似乎只在用户访问根路径(例如http://localhost/)时发生。如果我指定任何其他确切路径,例如http://localhost/index.aspx,则此请求似乎不会发生,并且 WindowsIdentity 永远不会改变。

浏览(相当大的)代码库,我只能找到一种模拟 WindowsIdentity 的方法,但除了在特定页面上的特定情况下不会调用该方法。

我想知道为什么会发生这种情况,以及 IIS 是否有任何原因可能会自行执行此操作。

4

1 回答 1

1

据我所知,我认为 root(http://localhost) 访问仅适用于管理员用户,因此它正在检查它是否是管理员用户..,如果用户不是http://loclahost是否可以访问管理员用户?

于 2012-02-17T12:20:45.247 回答