【发布时间】:2014-05-28 05:00:46
【问题描述】:
不幸的是,在 MVC5 的日子里,我不得不与 MembershipProvider 打交道。但这是让我困惑的问题。
在我的 MVC 应用程序中,登录视图将用户名和密码发送回登录控制器。
[HttpPost]
public ActionResult Login(LoginInputModel model)
{
var isValid = Membership.ValidateUser(model.Username, model.Password);
var user = Membership.GetUser(model.Username);
var isAuthenticated = User.Identity.IsAuthenticated;
var username = User.Identity.Name;
...
}
进入控制器,我找到了
-
isValid是true,这很好。 -
user也会返回正确的信息。
但是
-
isAuthenticated是false -
User.Identity仍然是null。
我一直认为Membership.ValidateUser() 会用正确的信息填充 User.Identity`。现在似乎缺少了一些东西。谁能告诉我出了什么问题?
谢谢。
【问题讨论】:
-
嗯,如果
User.Identity为 null,那么User.Identity.IsAuthenticated(用来查找isAuthenticated)会抛出异常,不是吗?
标签: asp.net-mvc membership-provider asp.net-mvc-5.1