【发布时间】:2014-02-28 07:17:38
【问题描述】:
在经过身份验证的 ASP.NET 请求的生命周期中的某个时刻,会从后备存储(实体框架或其他)检索IdentityUser。我想加入这个过程。原因是用户有一些集合属性,我想通过一次调用数据库来检索这些属性(使用IQueryable<T>.Include)。
这在 ASP.NET 身份中是否可行?
【问题讨论】:
标签: asp.net entity-framework asp.net-identity
在经过身份验证的 ASP.NET 请求的生命周期中的某个时刻,会从后备存储(实体框架或其他)检索IdentityUser。我想加入这个过程。原因是用户有一些集合属性,我想通过一次调用数据库来检索这些属性(使用IQueryable<T>.Include)。
这在 ASP.NET 身份中是否可行?
【问题讨论】:
标签: asp.net entity-framework asp.net-identity
我想你可能想实现一个ClaimsAuthenticationManager
声明身份验证管理器在声明处理管道中提供一个位置,用于在执行到达您的应用程序代码之前将处理逻辑(过滤、验证、扩展)应用到传入主体中的声明集合。
因为您正在寻找的内容对我来说听起来像 extension。您覆盖具有此签名的 Authenticate 方法:
public virtual ClaimsPrincipal Authenticate(
string resourceName,
ClaimsPrincipal incomingPrincipal
)
【讨论】:
您可能想要覆盖 UserStore 并覆盖所有返回 User 的 FindXXX 方法,添加您想要的任何 Includes。
【讨论】: