1

我已经在 iis 8 上发布了我的第一个网站,当我右键单击它并浏览时,我可以访问它。当我在 chrome 或 IE 中输入我的 ip 时,我会提示我输入用户名和密码。Windows 身份验证设置为 true,匿名设置为 false,我的 web.config 如下所示:

<configuration>
  <system.web>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
    <authorization>      
      <allow users="?"/>
    </authorization>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>
</configuration>

我不希望我的用户输入他们的信用,但我希望能够在页面顶部显示他们的 Windows 用户名。有什么我做错了吗?

4

2 回答 2

1

如果您打算使用 Windows 身份验证但不希望用户输入他们的凭据,您将不得不限制用户使用 IE,并且您必须确保该网站的地址被标识为 Intranet 站点- 只有这样 IE 才会在受到挑战时自动发送当前用户的 Windows 凭据。据我所知,Windows 平台上没有其他浏览器支持此功能(尽管可能有插件)。

这篇知识库文章可能有用 - 简而言之,您可以确保将站点的地址添加到您的用户 Intranet 区域,然后将自动提供凭据。

如果这是 AD 环境,您可以让域管理员将地址添加到组策略中,以便为所有用户推出此功能。

于 2013-07-19T23:31:03.373 回答
0

这是一个 Intranet Web 应用程序吗?

查看这篇文章,看看它是否有帮助: ALL Operations on Active Directory (AD) using c#

否则考虑使用会员提供者(但实际上您需要用户至少在第一次登录,具体取决于您的设置方式)

我相信一旦您在 Web 配置中需要 Windows Auth,您将需要通过 un 和 pw 进行授权。所以尝试使用匿名登录和文章中介绍的一些方法。当它设置为 Windows Auth 时,这仅与服务器上的 AD 有关,不一定是客户端计算机。

于 2013-07-19T22:27:21.780 回答