/// <summary> /// Cookie验证通过时,从OnlineUser缓存或数据库查找用户的最新信息附加到有效的 ClaimIdentity 上 /// </summary> /// <param name="context"></param> /// <returns></returns> public override Task ValidatePrincipal(CookieValidatePrincipalContext context) { ClaimsPrincipal user = context.Principal; ClaimsIdentity identity = user.Identity as ClaimsIdentity; IAccessClaimsProvider accessClaimsProvider = context.HttpContext.RequestServices.GetService <IAccessClaimsProvider>(); return(accessClaimsProvider.RefreshIdentity(identity)); }
/// <summary> /// Token验证通过时,从OnlineUser缓存或数据库查找用户的最新信息附加到有效的 ClaimPrincipal 上 /// </summary> /// <param name="context"></param> /// <returns></returns> public override async Task TokenValidated(TokenValidatedContext context) { ClaimsPrincipal user = context.Principal; ClaimsIdentity identity = user.Identity as ClaimsIdentity; IAccessClaimsProvider accessClaimsProvider = context.HttpContext.RequestServices.GetService <IAccessClaimsProvider>(); OperationResult <ClaimsIdentity> result = await accessClaimsProvider.RefreshIdentity(identity); if (!result.Succeeded) { context.Fail(result.Message); } }