예제 #1
0
        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);
        }
예제 #2
0
        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
            });
        }