Exemplo n.º 1
0
        /// <summary>
        /// 认证逻辑:认证校验主要逻辑
        /// </summary>
        /// <returns></returns>
        public Task <AuthenticateResult> AuthenticateAsync()
        {
            AuthenticateResult result;

            _context.Request.Headers.TryGetValue("Authorization", out StringValues values);
            string valStr = values.ToString();

            if (!string.IsNullOrWhiteSpace(valStr))
            {
                //认证模拟basic认证:cusAuth YWRtaW46YWRtaW4=
                string[] authVal   = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(valStr.Substring(CustomerSchemeName.Length + 1))).Split(':');
                var      loginInfo = new Dto.LoginDto()
                {
                    Username = authVal[0], Password = authVal[1]
                };
                var validVale = _userService.IsValid(loginInfo);
                if (!validVale)
                {
                    result = AuthenticateResult.Fail("未登陆");
                }
                else
                {
                    var ticket = GetAuthTicket(loginInfo.Username, "admin");
                    result = AuthenticateResult.Success(ticket);
                }
            }
            else
            {
                result = AuthenticateResult.Fail("未登陆");
            }
            return(Task.FromResult(result));
        }
Exemplo n.º 2
0
        private bool Valid()
        {
            _context.Request.Headers.TryGetValue("Authorization", out StringValues values);
            string valStr = values.ToString();

            if (!string.IsNullOrWhiteSpace(valStr))
            {
                //认证模拟basic认证:cusAuth YWRtaW46YWRtaW4=
                string[] authVal   = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(valStr.Substring(CustomerSchemeName.Length + 1))).Split(':');
                var      loginInfo = new Dto.LoginDto()
                {
                    Username = authVal[0], Password = authVal[1]
                };
                return(_userService.IsValid(loginInfo));
            }
            return(false);
        }