我对 ASP.NET Web API 还是很陌生。我目前正在研究基于 Web API 的新应用程序的身份验证部分,该应用程序是使用公司的一些库/某种框架开发的。
已经有一些 MVC 应用程序 - 他们使用基于表单的身份验证,并且他们没有使用 IPrincipal 来存储有关用户的信息,而是基于统一的方法,将数据保存在自定义 IUser 对象中(基本上保存在会话中)。Web API 应用程序将是无状态的(无会话),只是我将在身份验证 cookie 中添加一些与用户相关的信息(在 Application_PostAuthenticateRequest 中按请求检索)。
我有点犹豫是否将这些用户相关数据保存在 IPrincipal 的自定义实现中(我注意到这是一种做法),或者使用公司中其他应用程序的当前方法,利用 IUser - 由 Unity 提供服务,使用每个请求的生命周期经理。
您认为哪种方法更好?