ASP MVC表单身份验证在本地工作不是IIS 7 - 401未经授权的错误

时间:2012-02-08 23:14:03

标签: asp.net-mvc forms authentication

我有一个带有表单身份验证的asp mvc 2 Web应用程序。它在我的Visual Studio开发服务器上运行得很好,但是一旦我将我的应用程序部署到IIS 7,它就会给我一个 '401 - 未经授权:由于凭据无效而拒绝访问'错误,而无需访问我的loginURL页面。

在我的Web配置中

 <authentication mode="Forms"
  forms name=".MYUNIQUFORMSAUTH" loginUrl="/Login" requireSSL="false" timeout="20000"  /> 
<authentication/>

在IIS中,我还将身份验证设置为项目中的表单,并且cookie名称与web.config文件中设置的名称相匹配。

项目应用程序池设置为带有集成管道的.NET 2.0。

3 个答案:

答案 0 :(得分:3)

我遇到了这个问题,这是因为布局页面有一个Html.RenderAction到控制器,我没有应用[AllowAnonymous]属性。

IIS Express让这个漏掉了。 IIS 7.0不太宽容。

(我遵循这种模式:http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

答案 1 :(得分:1)

我认为除了表单身份验证之外,您还需要在IIS中启用匿名身份验证,以便显示登录表单。

答案 2 :(得分:0)

您需要在项目目录的目录中为“IIS_IUSRS”授予读取权限,或者在IIS中调整您的网站以使用通过访问权限计划... p.s.below链接了解更多信息

http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis/