【发布时间】:2012-10-02 13:25:01
【问题描述】:
浏览器是否可以在不显式登录的情况下知道当前登录的 AD 用户?我希望服务器中的代码以与浏览器中的用户相同的权限执行。这是可能的还是我必须要求用户明确登录?
上下文:ASP.NET,主要是 IE 7、IIS 7。
谢谢。
【问题讨论】:
-
我认为这是不可能的。如果我没记错的话,IE 有一个设置,启用后会在服务器请求时将当前广告令牌传递给服务器
浏览器是否可以在不显式登录的情况下知道当前登录的 AD 用户?我希望服务器中的代码以与浏览器中的用户相同的权限执行。这是可能的还是我必须要求用户明确登录?
上下文:ASP.NET,主要是 IE 7、IIS 7。
谢谢。
【问题讨论】:
如果你...
web.config 中...那么就可以通过浏览器传递凭据。 IE(微软的创造)可以在没有提示的情况下做到这一点,其他浏览器可能仍然坚持要求用户在新会话开始时输入他们的凭据。
【讨论】:
好的,这个问题有几个部分,所以我一次只讲一个:
首先,您想“不显式登录”进行身份验证。使用 Windows 集成身份验证 的 Internet Explorer 绝对可以做到这一点。请参阅这篇文章 (Internet Explorer May Prompt You for a Password),了解有关您的环境要求的更多详细信息。您需要使用 ASP.NET Windows 身份验证模式启用此功能。
其次,您希望服务器端代码以客户端本地登录用户的身份运行。这称为 Identity Impersonation,您应该阅读这篇 MSDN 文章以了解如何配置它:Using IIS Authentication with ASP.NET Impersonation
【讨论】: