我正在像下面这样设置表单身份验证cookie
FormsAuthentication.SetAuthCookie("test", true);
当我检查它是否设置它返回null...
Context.User.Identity.Name
任何想法为什么会这样?谢谢
我正在像下面这样设置表单身份验证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 将在请求中发送.