示例#1
0
        public IActionResult LogIn([FromBody] LogInInput logInInput)
        {
            var res = _usersSvc.GetLoginResult(logInInput);

            if (res.IsSuccess)
            {
                //redis 存储
                //string data = JsonConvert.SerializeObject(res.Data);
                //Guid guid = AddCurUserInfo(JsonConvert.DeserializeObject<Domain.entity.Users>(data));
                //Dictionary<string, string> dicRes = new Dictionary<string, string>
                //{
                //    { "userToken", guid.ToString() }
                //};

                //ClaimsIdentity 授权
                var authResult = _tokenSvc.CreateToken(res.Data as Users);
                ResponseResult.Result = 1;
                ResponseResult.Data   = authResult;
            }
            else
            {
                ResponseResult.Result  = 0;
                ResponseResult.Message = res.Message;
            }

            return(Ok(ResponseResult));
        }
示例#2
0
 /// <summary>
 /// 账号密码验证
 /// </summary>
 /// <param name="input"></param>
 /// <param name="member"></param>
 private void MobilePasswordValid(LogInInput input, out bool isSuccess, out Users user)
 {
     user = _userRepository.GetModel(new { input.UserName });
     if (user == null || !CheckPwd(input.Password, user.Userpass))
     {
         isSuccess = false;
     }
     else
     {
         isSuccess = true;
     }
 }
示例#3
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public OperationResult GetLoginResult(LogInInput input)
        {
            bool  isSuccess;
            Users user;

            MobilePasswordValid(input, out isSuccess, out user);

            if (!isSuccess)
            {
                return(new OperationResult {
                    IsSuccess = false, Message = "登录验证失败"
                });
            }
            else
            {
                return(MemberValid(user));
            }
        }
示例#4
0
        public async Task <AjaxResponse> LogIn(LogInInput input)
        {
            CheckModelState();

            var logInResult = await GetLogInResultAsync(
                input.UsernameOrEmailAddress,
                input.Password,
                input.TenancyName
                );

            var ticket = new AuthenticationTicket(logInResult.Identity, new AuthenticationProperties());

            var currentUtc = new SystemClock().UtcNow;

            ticket.Properties.IssuedUtc  = currentUtc;
            ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromDays(7));

            return(new AjaxResponse(OAuthBearerOptions.AccessTokenFormat.Protect(ticket)));
        }
示例#5
0
 public async Task <AdminTokenOutput> LogInAsync([FromBody] LogInInput input)
 {
     // Если решусь добавить refresh-токен, то надо не забыть обернуть в транзакцию (т.к. refresh-токен буду хранить в базе)
     return(await _authorizationService.LogInAsync(input));
 }