FormsAuthentication.SetAuthCookie() 是否需要重定向?

2024-04-29

检查用户的凭据并确认其良好后,我正在使用FormsAuthentication.SetAuthCookie("Username", false);对用户进行身份验证。

然后在母版页中我使用Page.User.Identity.IsAuthenticated确保我们处理的是登录用户而不是访客。

问题在于首先设置auth cookie。当我设置身份验证 cookie 时,我立即运行一个使用的方法Page.User.Identity.IsAuthenticated更改通用的欢迎信息“欢迎,客人!”向更个性化的消息“欢迎,用户名!”信息。直到我转到另一个页面时,这才起作用,所以我知道登录过程已经起作用,但在刷新或重定向发生之前,我似乎无法访问我需要的信息。

设置身份验证 cookie 后是否需要重定向用户才能使用Page.User.Identity.IsAuthenticated更改消息?


我以前见过这个,所以我知道答案是肯定的。 (例如,是的,您确实需要重定向用户才能正确使用Page.User.Identity.IsAuthenticated)

我想象的原因是因为IsAuthenticated评估当前请求,当当前请求第一次进入时,它被记录为未经过身份验证。

您需要做的是应用上述方法中的任何逻辑,而无需检查IsAuthenicated(假设为真)。

现在我不知道你的方法的细节,以建议如何重构它来应对这个问题,但是你可以将“Do Stuff”部分拆分成一个单独的函数,然后你可以直接从登录函数调用该函数绕过身份验证检查。


EDIT:为了支持我的假设,你可以阅读此页 http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie.aspx.

有趣的部分:

表单验证票证提供表单验证 浏览器发出的下一个请求的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FormsAuthentication.SetAuthCookie() 是否需要重定向? 的相关文章

随机推荐