IIS7和身份验证问题

时间:2008-11-14 05:35:21

标签: authentication iis-7 windows-authentication basic-authentication http-authentication

我有一个标准的ASP.NET网站,部署到我们的开发机器(我们服务器机房的内部机器)。

现在,INTERNAL和EXTERNAL用户都可以访问此开发站点。现在,在IIS6中我们曾经拥有它,以便匿名身份验证关闭并打开了其他内容..为用户提供了一个用户名和密码的弹出模型框。我认为他们必须输入web.config文件中定义的一些用户名或密码? (不是他们的网站帐户用户名/密码)/

现在,使用IIS7,当我关闭匿名身份验证,并打开基本 Windows身份验证时,我可以访问该网站但是它试图用这些凭证登录我...而不是用户注册的帐户(使用一些股票标准的asp.net webform页面)。

所以...是否可以“锁定”整个网站并让测试人员获得对网站的一般访问权限......这与他们的网站用户名和密码不同。这些用户名和密码将在网站中使用。

这有意义吗?

喝彩!


<authentication mode="Forms">
    <forms loginUrl="~/Pages/Login.aspx" protection="Validation" timeout="1000000000" requireSSL="false" slidingExpiration="true" defaultUrl="Default.aspx">
    </forms>
</authentication>

没有授权部分。

另外,当我向iis7添加'Digest Auth'并启用它(并禁用其他所有其他)时,我会弹出窗口(kewl!)但我不确定我需要传递哪些凭据。哪里可以我手动定义这些凭证(因此它们与网站的用户分开)??

1 个答案:

答案 0 :(得分:6)

IIS7集成模式不支持IIS6执行的两阶段身份验证。基本上,IIS6将执行其身份验证(窗口),然后asp.net执行其身份验证(窗体)。但是对于IIS7,在集成模式下一切都是相同的,因此您只能使用一种或另一种身份验证方法。

您可以将应用程序池转换为使用经典模式,也可以按照this workaround使其使用集成模式。