我仍然是ASP.NET Web API的新手。我目前正致力于基于Web API的新应用程序的身份验证部分,该API是使用公司的一些库/有点框架开发的。
已经有一些MVC应用程序 - 他们使用基于表单的身份验证,他们没有使用IPrincipal存储有关用户的信息,而是使用基于统一的方法,将数据保存在自定义IUser对象中(基本上保留在会话中) 。 Web API应用程序将是无状态的(无会话),只是我将在身份验证cookie中添加一些用户相关信息(在Application_PostAuthenticateRequest中按请求检索)。
我有点犹豫不决,要将这个用户相关数据保存在IPrincipal的自定义实现中(我注意到这是一种做法),或者使用公司中其他应用程序的当前方法,使用由Unity提供的IUser,使用每个请求终身经理。
您认为哪种方法更好?
答案 0 :(得分:0)
如果您要跟踪每个会话的用户,请尝试使用Singleton类,如果您要记录进入会话的用户,请将其写入文本文件,如白名单。