public void OnAuthorization(AuthorizationFilterContext context) { if (context.Filters.Any(filter => filter is IAllowAnonymousFilter)) { return; } // 防止cotroller层和action的或者成员信息需求不一致时 的去重验证 if (infoType == MemberInfoType.OnlyId && MemberShiper.IsAuthenticated || infoType == MemberInfoType.Info && MemberShiper.Identity.MemberInfo != null) { return; } var identity = MemberShiper.Identity; if (identity == null) { var identityRes = GetIndentityId(); if (!identityRes.IsSuccess) { context.Result = new JsonResult(identityRes); return; } identity = identityRes.Data; } if (infoType == MemberInfoType.Info) { if (!GetIdentityMemberInfo(identity).IsSuccess) { context.Result = new JsonResult(new ResultMo(ResultTypes.UnAuthorize, "未发现授权用户信息")); return; } } MemberShiper.SetIdentity(identity); }
public void OnAuthorization(AuthorizationFilterContext context) { if (context.Filters.Any(filter => filter is IAllowAnonymousFilter)) { return; } var token = MemberShiper.AppAuthorize.Token; if (string.IsNullOrEmpty(token)) { ReponseEnd(new ResultMo(ResultTypes.UnAuthorize, "用户未登录!"), context); return; } var userRes = UserCommon.GetCurrentUser().Result; if (!userRes.IsSuccess()) { ReponseEnd(userRes, context); return; } MemberShiper.SetIdentity(new MemberIdentity() { Id = userRes.data.id, MemberInfo = userRes.data }); }