gpt4 book ai didi

asp.net - 在 ASP.NET 中,如何为 session 设置当前用户标识?

转载 作者:行者123 更新时间:2023-12-04 05:32:03 27 4
gpt4 key购买 nike

我有一个简单的页面,并且有一个登录按钮。我只是想以编程方式设置用户身份,以便当我重新导航到此页面或任何其他页面时,我可以获得当前的用户身份。对此是否有特殊考虑?

最佳答案

简答:

//
// Swapped FormsIdentity principal with our own custom IPrincipal
//
HttpContext.Current.User = yourPrincipalFromSomewhere;

//see
//http://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx

//
// Sync Context Principal with Thread Principal
//
System.Threading.Thread.CurrentPrincipal = System.Web.HttpContext.Current.User;

因此,在登录时,我的团队会将 IPrincipal(我们的自定义)放在这里:
HttpContext.Current.Cache.Insert

然后在
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}

我们将从以下位置获取它:
HttpContext.Current.Cache

然后将其重新附加到:
// Swapped FormsIdentity principal with our own IPrincipal
//
HttpContext.Current.User = cachedPrincipal;

//see
//http://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx

//
// Sync Context Principal with Thread Principal
//
System.Threading.Thread.CurrentPrincipal = System.Web.HttpContext.Current.User;

我是说“完全像我的团队那样做”吗?不必要。
但我向您展示了我们遇到的 2 个附加它的地方。

还有 hanselman 链接,其中显示了有关它的一些信息。

http://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx

关于asp.net - 在 ASP.NET 中,如何为 session 设置当前用户标识?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255229/

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