我已经在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用户名放在页面顶部。有什么我做错了吗?
答案 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,不一定是客户机。