gpt4 book ai didi

asp.net - 以编程方式刷新/更新 HttpContext.User

转载 作者:行者123 更新时间:2023-12-05 00:09:17 24 4
gpt4 key购买 nike

我将 FormsAuthentication 用于 ASP.NET 站点,该站点具有显示当前登录用户 Page.User.Identity.Name 的母版页。

他们可以在他们的设置中更改他们的用户名,当这样做时,我会为他们更新他们的 cookie,这样他们就不必通过回发退出/重新登录。

FormsAuthentication.SignOut();
FormsAuthentication.SetAuthCookie(username, false);

我可能很挑剔,但在他们更改用户名后,母版页仍会显示其原始用户名,直到他们重新加载或加载不同的页面。

有没有办法以编程方式更新当前的 Page.User,以便他们的新用户名可以在同一次回发期间显示?

最佳答案

虽然 MasterMax 的建议是我会做的,但您实际上可以更新 Page.User通过 HttpContext.Current.User .

如果您知道用户的角色(或者您没有使用基于角色的授权),您可以利用 System.Security.Principal.GenericPrincipal类(class):

string newUsername = "New Username";
string[] roles = new string[] {"Role1", "Role2"};

HttpContext.Current.User =
new GenericPrincipal(new GenericIdentity(newUserName), roles);

关于asp.net - 以编程方式刷新/更新 HttpContext.User,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603838/

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