我正在尝试在asp.net mvc(C#)应用程序的自定义属性的OnAuthorization中设置身份验证cookie。
当会话到期(新会话)时,我将再次设置一个auth cookie,使其在用户注销之前可用。
我已经使用以下代码设置了身份验证cookie,
//set forms auth cookie
FormsAuthentication.SetAuthCookie(strUserName, true);但是当我检查HttpContext.User.Identity.IsAuthenticated时,它返回false。
如何在自定义属性的OnAuthorization中设置身份验证cookie?
发布于 2009-11-21 14:18:52
设置身份验证cookie后,您不会自动填写Context.User,您需要执行以下操作:
Context.User = new GenericPrincipal (new GenericIdentity (strUserName, "Forms"), null);其中,要使IsAuthenticated返回true,strUserName必须为非null且不为空。在下一个请求中,FormsAuthenticationModule应该设置Context.User,这样您就不需要做任何事情了。
发布于 2009-11-21 14:22:06
我怀疑您可能需要在设置auth cookie后重定向到新页面,然后在新页面上检查IsAuthenticated。我不完全记得这件事发生的顺序,但这让我想起了我遇到的一个问题。
https://stackoverflow.com/questions/1774674
复制相似问题