我正在vs2010开发一个公共网站, 我可以将身份验证保持为Windows身份验证,并只启用匿名访问 或者我应该使用默认的表单身份验证。
该网站不需要任何类型的登录机制......所以我真的没有在表单身份验证中看到一点,但大多数用户也没有Windows身份验证。
所以我很困惑,在我的asp.net web.config文件中,我对公共网站使用哪种身份验证?
我也问过这个问题:developing site in vs2010 but changed to local IIS and prompts
但我对此没有任何好运:(。使用本地IIS的网站不断提示用户名和密码(请参阅我上面发布的stackoverflow问题),我已经检查了应用程序池,安全性和权限,它仍然提示我输入用户名和密码。它提示我大约10次,如果我一直取消它,页面出现但图像不显示也没有CSS渲染。所以它看起来像是提示网站上的每个图像,但所有文件夹都从父级继承,我添加了网络,网络服务,ASPNET用户,默认的应用程序池用户...我不知道还能做什么。
所以有两个问题:
1)我在网站配置中为公共网站指定了什么 2)如何摆脱这种提示!
由于
答案 0 :(得分:2)
答案 1 :(得分:1)
因为它提示您使用登录对话框,请尝试使用您喜欢的任何身份验证在web.config文件中使用授权元素。默认情况下,使用“*”允许访问所有用户。有关详细信息,请参阅this article。
<authorization>
<allow users="*" />
</authorization>
答案 2 :(得分:0)
您的web.config文件有两个控制登录请求的部分。这些是
<authentication> ... </authentication>
和
<authorisation> --- </authorization>
授权控制谁可以访问的内容,以及身份验证确定如何建立特定用户的凭据以查看他们是否拥有访问您网站的正确权限。
他们的用法示例可能是
<authorization>
<allow users="*" />
</authorization>
<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="40320" cookieless="UseCookies" slidingExpiration="true" />
</authentication>
允许访问我的应用程序根目录的所有用户,并使用表单身份验证确定其凭据。
通过在web.config中使用位置标记,您的网站的其他部分可以拥有备用授权要求
但是,如果您网站的任何部分都不需要此功能,则不需要任何部分。但是,您应该知道还有其他可能确定的地方。有一个名为machine.config的文件,用于确定计算机的设置。您的web.config优先于machine.config,但如果授权和身份验证设置是在machine.config中进行的,而不是在web.config中,那么machine.config将获胜。
希望有所帮助。如果你可以发布你的web.config,这可能会帮助我们指出你正确的方向。