Пример #1
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var Authorization = request.Headers.Authorization;

            if (Authorization != null)
            {
                //string AccessToken = Authorization.Parameter;
                JWTPayload AccessToken  = Authen.DecodeAccessToken(Authorization.Scheme);
                var        get_username = Authen.Username_model(AccessToken.username);
                AccessToken.username = get_username.username;
                if (get_username.type_login.Equals("Mainsystem"))
                {
                    var UserVerify = Authen.VerifyAccessToken_main(AccessToken);
                    if (UserVerify != null)
                    {
                        var member_login = new UserLogin(new GenericIdentity(UserVerify.mem_usename), UserVerify);
                        Thread.CurrentPrincipal  = member_login;
                        HttpContext.Current.User = member_login;
                        //var UserLogin = new UserLogin(new GenericIdentity(UserVerify.mem_usename));
                    }
                }
                if (get_username.type_login.Equals("Backoffice"))
                {
                    var UserVerify = Authen.VerifyAccessToken_back(AccessToken);
                    if (UserVerify != null)
                    {
                        var ad_login = new AdminLogin(new GenericIdentity(UserVerify.ad_username), UserVerify.roles.ToString());
                        Thread.CurrentPrincipal  = ad_login;
                        HttpContext.Current.User = ad_login;
                        ad_login.my_admin        = UserVerify;
                        //var UserLogin = new UserLogin(new GenericIdentity(UserVerify.mem_usename));
                    }
                }
            }
            return(base.SendAsync(request, cancellationToken));
        }