在经过身份验证的ASP.NET请求的生命周期中的某个时刻,将从后备存储(实体框架或其他方式)检索IdentityUser
。我想加入这个过程。原因是用户有一些集合属性,我想通过一次调用数据库来检索它们(使用IQueryable<T>.Include
)。
这在ASP.NET身份中是否可行?
答案 0 :(得分:0)
我想你可能想要实现一个ClaimsAuthenticationManager
声明身份验证管理器在声明处理管道中提供了一个位置,用于在执行到达应用程序代码之前将处理逻辑(过滤,验证,扩展)应用于传入主体中的声明集合。
因为你要找的对我来说就像extension
一样。您覆盖具有此签名的Authenticate
方法:
public virtual ClaimsPrincipal Authenticate(
string resourceName,
ClaimsPrincipal incomingPrincipal
)
答案 1 :(得分:0)
您可能希望覆盖UserStore并覆盖返回用户的所有FindXXX方法,并添加您想要的任何包含。