gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:46:54 25 4
gpt4 key购买 nike

在检查用户的凭据并确认它们是正确的之后,我使用 FormsAuthentication.SetAuthCookie("Username", false); 来验证用户。

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

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

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

最佳答案

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

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

您需要做的是在不检查 IsAuthenicated 的情况下应用上述方法中的任何逻辑(使其假设为真)。

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


编辑:为了支持我的假设,您可以 read this page .

有趣的部分:

The forms-authentication ticket supplies forms-authentication information to the next request made by the browser.

关于c# - FormsAuthentication.SetAuthCookie() 是否需要重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10190634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com