MVC 2.0 中用户对象的自定义身份

发布于 2024-10-11 23:00:27 字数 327 浏览 1 评论 0原文

我正在尝试获取 Identity 对象的自定义字段,以便在页面端,我可以简化对登录用户的引用。

    WizBang.aspx

    Welcome <b><%: Page.User.Identity.FirstName %></b>
    Your username is<%: Page.User.Identity.Name %>!

我的另一个想法是将其粘贴到会话中并通过 Application_PostAuthenticateRequest 侦听器进行设置,而不是首先弄乱整个身份。或者有没有其他更好的办法。

I'm trying to get custom fields for an Identity object so that on the page side, I can simplify references to the logged-in user.

    WizBang.aspx

    Welcome <b><%: Page.User.Identity.FirstName %></b>
    Your username is<%: Page.User.Identity.Name %>!

My other thought is to just stick it into session and set it via a Application_PostAuthenticateRequest listener and not mess with the whole Identity in the first place. Or if there is any other way that is better.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱的十字路口 2024-10-18 23:00:27

Application_PostAuthenticateRequest 是设置自定义 IIdentity 的正确方法。我建议您向您的身份添加一个静态属性:

public MyCustomIdentity : IIdentity
{
    public static MyCustomIdentity Current { get { return (MyCustomIdentity) Thread.CurrentPrincipal.Identity; }}
}

并在您的视图中像 <%= MyCustomIdentity.Current.SpecialProperty %> 一样访问它。

Application_PostAuthenticateRequest is the correct way to set a custom IIdentity. I suggest that you add a static property to your identity:

public MyCustomIdentity : IIdentity
{
    public static MyCustomIdentity Current { get { return (MyCustomIdentity) Thread.CurrentPrincipal.Identity; }}
}

And access it like <%= MyCustomIdentity.Current.SpecialProperty %> in your view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文