MVC上的表单身份验证始终重定向到登录

Bob*_*ger 1 forms authentication asp.net-mvc

我在我的MVC站点上有表单身份验证,默认路由设置为将用户发送到/ home/index.Home/index通过Web.config位置部分从登录要求中排除.如果我输入http:// Example/home/index,我会按预期进入主页,但如果我只是执行http://示例,我会被重定向到登录页面.

如果我关闭身份验证并执行http://示例,默认路由工作正常,我就被发送到主页.

为什么身份验证不遵守默认路由?谢谢!

Dar*_*rov 6

您不应该使用该<location>元素web.config来处理ASP.NET MVC应用程序中的授权,因为它可能会与您的路由冲突.这用于标准WebForms应用程序,但在MVC中被认为是不好的做法.

处理此问题的推荐方法是使用.修饰控制器/操作[AuthorizeAttribute].所以摆脱locationweb.config中的所有元素并进行装饰.