【问题标题】:Where to keep data about an authenticated user?在哪里保存有关经过身份验证的用户的数据?
【发布时间】:2013-06-21 09:14:16
【问题描述】:

我对 ASP.NET Web API 还是很陌生。我目前正在开发基于 Web API 的新应用程序的身份验证部分,该应用程序是使用公司的一些库/某种框架开发的。

已经有一些 MVC 应用程序 - 他们使用基于表单的身份验证,他们没有使用 IPrincipal 来存储有关用户的信息,而是基于统一的方法,将数据保存在自定义 IUser 对象中(基本上保存在会话中) . Web API 应用程序将是无状态的(无会话),只是我将在身份验证 cookie 中添加一些用户相关信息(在 Application_PostAuthenticateRequest 中按请求检索)。

我有点犹豫是将这些与用户相关的数据保存在 IPrincipal 的自定义实现中(我注意到这是一种做法),或者使用公司中其他应用程序的当前方法使用 IUser - 由 Unity 提供服务,使用每个请求生命周期管理器。

您认为哪种方法更好?

【问题讨论】:

    标签: authentication asp.net-web-api unity-container iprincipal


    【解决方案1】:

    如果您要跟踪每个会话的用户,请尝试使用单例类,如果您要记录进入会话的用户,请将其记录在文本文件中,如白名单。

    【讨论】:

    • 正如我所提到的,webapi 应用程序将是无状态的——没有视觉。现在我选择将用户相关信息保存在自定义类中,从身份验证 cookie 中提取信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2020-11-15
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多