【问题标题】:Store user id in Principal or Identity? ASP.Net/OpenID将用户 ID 存储在主体或身份中? ASP.Net/OpenID
【发布时间】:2010-10-04 02:37:48
【问题描述】:

我有一个使用表单身份验证的 ASP.Net MVC Web 应用程序。我正在使用 OpenID 进行身份验证。

目前,我将 openID url 存储在标准 GenericIdentityName 中。我还希望能够轻松访问用户的数据库 ID。

我可以通过覆盖Application_AuthenticateRequest 函数来创建自定义提供者或身份。

我的问题是用户的数据库 uid 应该进入主体还是身份?

Identity 的 Name 属性应该是 openid url(用户可以有很多,但我想在每个页面上显示它)还是数据库 uid?

【问题讨论】:

    标签: openid membership iprincipal iidentity


    【解决方案1】:

    我现在在想,我应该只将用户 ID 存储在 Identity 中,然后在 Session 中保留 openid url。

    这样我就不需要自定义身份或主体。

    【讨论】:

    • 效果很好。我也将用户 ID 存储在身份中。如果您有时间随意投资创建自定义身份,这并不太难,您最终会发现其他有用的花絮可以存储在身份中,它会让您的 Session 不会充满这些东西。跨度>
    • 我还将为我的 ASP.NET MVC 应用程序创建一个自定义标识类。我觉得身份应该包含有关已通过身份验证的用户的信息.. 如果您希望在整个站点中保留一些丰富的信息,为什么不扩展它呢?
    • 您是如何处理会员和角色管理的?您是否使用了默认提供程序?如果是这样,您是如何将其与您的用户 uid 一起插入的(因为提供商使用用户名作为密钥)。
    猜你喜欢
    • 1970-01-01
    • 2021-01-01
    • 2014-03-24
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2019-12-17
    • 2018-06-25
    • 2019-09-11
    相关资源
    最近更新 更多