5

我有一个股票标准ASP.NET网站,部署到我们的开发机器(我们的服务器机房内部机器)。IIS7和身份验证问题

现在,这个开发网站可以被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> 

没有授权部分。

另外,当我添加'Digest Auth'到iis7并启用它(并禁用everythign其他),我得到弹出窗口(kewl!),但我不知道我需要通过什么凭证。我可以手动定义这些凭据吗(所以他们是从网站的用户分开??)?

+1

这是一个完全合理的期望和一个非常普遍的要求。 – Aaron 2010-10-20 02:51:35

+0

@Aaron - 希望我们可以要求IIS团队添加这个:( – 2010-10-20 23:23:53

回答

6

IIS7集成模式不支持IIS6执行的两阶段身份验证。基本上,IIS6将执行其身份验证(窗口),随后由asp.net执行其身份验证(表单)。但是对于IIS7,集成模式下的所有内容都是相同的,因此您只能拥有一种或其他身份验证方法。

您可以将应用程序池转换为使用经典模式,或按照this workaround使其与集成模式一起工作。