我创建了一个全新的ASP.NET MVC 5项目来测试[Authorize]
属性FormsAuthentication.SetAuthCookie
.我只是在一个动作中设置一个cookie(在我的Home控制器中):
public ActionResult About() { FormsAuthentication.SetAuthCookie("someUser", false);
我限制访问另一个:
[Authorize] public ActionResult Contact() {
当我启动我的网页并导航到时/home/contact
,我被正确地重定向到登录页面.然后我去/home/about
,拿到我的cookie,然后回到联系页面.但是我仍然被重定向到登录页面 - cookie没有验证/授权我.
在调试器中,HttpContext.User.Identity.IsAuthenticated == false
当我多次加载About页面时(也就是说,即使在设置了auth cookie之后,它也从未将我视为已经过身份验证).
这里必须要做一些额外的步骤吗?我不应该为基本身份验证设置自己的IPrincipal,我应该吗?