Пример #1
0
        public RequestImpl(HttpRequest request)
        {
            HttpRequest = request;

            var apiToken = ApiToken;

            if (!string.IsNullOrEmpty(apiToken))
            {
                var tokenInfo = AccessTokenManager.GetAccessTokenInfo(apiToken);
                if (tokenInfo != null)
                {
                    if (!string.IsNullOrEmpty(tokenInfo.AdminName))
                    {
                        var adminInfo = AdminManager.GetAdminInfoByUserName(tokenInfo.AdminName);
                        if (adminInfo != null && !adminInfo.IsLockedOut)
                        {
                            AdminInfo     = adminInfo;
                            IsAdminLoggin = true;
                        }
                    }

                    IsApiAuthenticated = true;
                }
            }

            var userToken = UserToken;

            if (!string.IsNullOrEmpty(userToken))
            {
                var tokenImpl = ParseAccessToken(userToken);
                if (tokenImpl.UserId > 0 && !string.IsNullOrEmpty(tokenImpl.UserName))
                {
                    var userInfo = UserManager.GetUserInfoByUserId(tokenImpl.UserId);
                    if (userInfo != null && !userInfo.IsLockedOut && userInfo.IsChecked && userInfo.UserName == tokenImpl.UserName)
                    {
                        UserInfo     = userInfo;
                        IsUserLoggin = true;
                    }
                }
            }

            var adminToken = AdminToken;

            if (!string.IsNullOrEmpty(adminToken))
            {
                var tokenImpl = ParseAccessToken(adminToken);
                if (tokenImpl.UserId > 0 && !string.IsNullOrEmpty(tokenImpl.UserName))
                {
                    var adminInfo = AdminManager.GetAdminInfoByUserId(tokenImpl.UserId);
                    if (adminInfo != null && !adminInfo.IsLockedOut && adminInfo.UserName == tokenImpl.UserName)
                    {
                        AdminInfo     = adminInfo;
                        IsAdminLoggin = true;
                    }
                }
            }
        }
Пример #2
0
        private void AuthApi()
        {
            if (!string.IsNullOrEmpty(HttpRequest.Headers.Get(AuthKeyApiHeader)))
            {
                ApiToken = HttpRequest.Headers.Get(AuthKeyApiHeader);
            }
            else if (!string.IsNullOrEmpty(HttpRequest.QueryString[AuthKeyApiQuery]))
            {
                ApiToken = HttpRequest.QueryString[AuthKeyApiQuery];
            }
            else if (!string.IsNullOrEmpty(CookieUtils.GetCookie(AuthKeyApiCookie)))
            {
                ApiToken = CookieUtils.GetCookie(AuthKeyApiCookie);
            }

            if (!string.IsNullOrEmpty(ApiToken))
            {
                var tokenInfo = AccessTokenManager.GetAccessTokenInfo(ApiToken);
                SetAdmin(tokenInfo?.AdminName);
                IsApiAuthenticated = tokenInfo != null;
            }
        }