我在向IIS 7.5部署具有表单身份验证的Web应用程序时遇到了困难。
我有以下内容:
Web.Config中:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
在IIS管理器中运行“管理应用程序 - >浏览”时出现以下错误。
HTTP错误401.2 - 未经授权
尝试在本地计算机上运行已部署的应用程序时出现以下错误:
401 - 未经授权:由于凭据无效,访问被拒绝。
关于出了什么问题的任何想法?它从VS运行时可以找到。
答案 0 :(得分:1)
如果你有一条通向最终[Authorize]属性的路径,那将导致这种情况 - 删除RenderAction或允许在没有[Authorize]的情况下渲染该动作。
在我的情况下,我在_Layout.cshtml中调用Html.RenderAction(“Heading”)(呈现“请登录”或“欢迎回来,Ryan”)。 My Heading actionresult上设置了AuthorizeAttribute。我删除了标题上的AuthorizeAttribute,它已经解决了。
答案 1 :(得分:0)
我正在运行与您展示的相同的设置,它对我有用。检查以确保您的登录操作不需要授权。
答案 2 :(得分:0)
我通过将“匿名身份验证”设置为启用来实现此目的。
更新:将其设置为匿名身份验证会导致其他问题。我需要保持这种禁用状态。
有什么想法吗?