【问题标题】:How can I tell what the username is of an authenticated using Forms Authentication with ASP.NET如何判断用户名是使用 ASP.NET 的表单身份验证进行身份验证的用户名
【发布时间】:2010-06-14 00:34:03
【问题描述】:

用户通过身份验证后,我将他们的用户名存储在会话状态中,但如果会话超时,我想根据他们使用原始身份验证的用户名为用户创建一个新会话。如何从 Forms Authentication 中获取当前经过身份验证的用户?

【问题讨论】:

    标签: asp.net forms-authentication


    【解决方案1】:

    当前经过身份验证的用户应该是IIdentity 中的名称,该名称分配给HttpContext 的User 属性上的IPrincipal 的身份

    HttpContext.Current.User.Identity.Name
    

    在 ASP.NET MVC 中,它可以在控制器中通过

    this.User.Identity.Name
    

    【讨论】:

    • 这就是我想要的。谢谢。
    【解决方案2】:

    您根本不需要在会话中存储用户名 - 在您的页面中只需访问 HttpContext 的 User 属性。要获取实际的用户名,您可以使用User.Identity.Name,并且作为一种方便的捷径,ASP.NET Page 类本身具有用户属性,因此您可以这样做

    string userName = Page.User.Identity.Name;
    

    在你的代码后面。

    如果您使用的是 ASP.NET MVC,则可以在控制器中访问 User 属性

    string userName = User.Identity.Name
    

    【讨论】:

    • 来自 MVC 控制器怎么样?
    猜你喜欢
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    相关资源
    最近更新 更多