Context.User.Identity.Name在MVC 4中返回null
本文关键字:返回 null MVC User Identity Name Context | 更新日期: 2023-09-27 18:04:34
我像这样设置表单认证cookie
FormsAuthentication.SetAuthCookie("test", true);
当我检查它是否设置时,它返回null…
Context.User.Identity.Name
你知道为什么会这样吗?由于
你应该总是在设置表单认证cookie后重定向:
public ActionResult SomeAction()
{
FormsAuthentication.SetAuthCookie("test", true);
return RedirectToAction("FooBar");
}
只有在您重定向到的后续操作中,您才能获得正确初始化的User.Identity.Name
。原因很简单:User.Identity.Name
属性从请求cookie(又名传入cookie)初始化,而FormsAuthentication.SetAuthCookie
正在设置表单认证响应(又名发出cookie),以便在随后的请求中此cookie将在请求中发送。