如何使用没有用户名/密码的Windows身份验证

时间:2013-07-19 22:11:28

标签: asp.net windows-authentication

我已经在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用户名放在页面顶部。有什么我做错了吗?

2 个答案:

答案 0 :(得分:1)

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

This knowledge-base article可能有用 - 简而言之,您可以确保将您网站的地址添加到您的用户Intranet区域,然后自动提供凭据。

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

答案 1 :(得分:0)

这是一个Intranet网络应用吗?

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

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

我相信一旦您在Web配置中需要Windows Auth,您将需要通过un和pw进行授权。因此,请尝试使用匿名登录和本文中介绍的一些方法。当它在Windows Auth中设置时,它只适用于服务器上的AD,不一定是客户机。