![](/img/trans.png)
[英]Adding Forms Authentication to ASP.Net project results in 401.2 Unauthorized?
[英]ASP.Net Form authentication 401.2 Unauthorized
我遇到一个让我发疯的问题。 我已经在Visual Studio 2015中使用预定义的模板创建了一个ASP.Net项目。 目标框架是4.5
当我添加表单身份验证时,我得到的只是一条401.2消息。
这是配置应用程序的方式:我创建了Login.aspx页面。 然后在web.config中,在system.web部分中添加了以下属性:
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
protection="All"
timeout="30"
name=".ASPXAUTH"
path="/"
defaultUrl="Default.aspx" />
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
我检查了其他一些帖子,但到目前为止没有一个帮助我:
这一项不适用: 拒绝访问-401.2:未经授权的错误
这看起来很有希望,但对我的应用程序却没有雪茄: 使用IIS8.0 Express(vs2013)的.NET表单身份验证(vs2013)-401.2 。:未经授权:由于服务器配置,登录失败
这让我开始思考: https : //stackoverflow.com/a/35925125/980201
当我检查IIS(Express)日志文件时,这就是我得到的:
2017-02-24 19:29:22 ::1 GET / .... - 302
2017-02-24 19:29:22 ::1 GET /Login ReturnUrl=%2f .... - 401
Login.aspx中的.aspx在哪里?
因此,我删除了所有FriendlyURL内容,但再没有运气了。 在最后的尝试中,我将配置更改为:
<forms loginUrl="LoginXXX.aspx"
这就是我得到的:
2017-02-24 19:45:37 ::1 GET / ... - 302
2017-02-24 19:45:37 ::1 GET /LoginXXX.aspx ReturnUrl=%2f 57745 - 404
为什么.Net重定向到login而不是login.aspx? 对我的应用程序和配置文件还有其他想法吗?
非常感谢!
问候罗兰
编辑一些意外事件:当我使用Login.aspx.cs作为当前选项卡在VS中开始调试时,它失败。 当我从Default.aspx.cs开始调试时,它可以工作。 将项目的“ 开始操作”设置为Default.aspx可以解决此问题。 但是,当网站运行时,将URL更改为login.aspx会使它再次失败。
为什么? 对我来说,只有每个人都可以看到的页面无法直接导航对我来说没有意义。
如果使用Visual Studio创建默认项目,然后使用该默认项目启用表单身份验证,则问题是默认情况下禁用了表单身份验证,因为Identity Framework是VS 2015中的默认身份验证机制。
在web.config中查找此条目
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
并删除“删除”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.