コード例 #1
0
        public IActionResult Post([FromBody] LoginDto userDto)
        {
            var login = Mapper.Map <Login>(userDto);

            if (_loginRepository.VerifyLogin(login))
            {
                var logininfo = _loginRepository.GetLoginInfo(userDto.UserName);
                _unitOfWork.ChangeDatabase(logininfo.Company);
                var userinfo = _userRepository.GetUserInfo(userDto.UserName);
                if (userinfo == null)
                {
                    return(StatusCode(500, "用户信息缺失"));
                }
                var tokeninfo = Mapper.Map <Login, LoginCreateDto>(logininfo);
                Mapper.Map(userinfo, tokeninfo);
                try
                {
                    return(new ObjectResult(TokenOperator.GenerateToken(tokeninfo)));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, "生成令牌时出错: " + e.Message));
                }
            }
            return(BadRequest());
        }
コード例 #2
0
        public IActionResult PostEncrypt([FromBody] EncryptedString encryptedString)
        {
            LoginDto loginDto;

            try
            {
                string origintext = Encryptor.DecryptString_Aes(encryptedString.ciphertext, Encryptor.key);
                loginDto = JsonConvert.DeserializeObject <LoginDto>(origintext);
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
            if (loginDto != null)
            {
                Login login = Mapper.Map <Login>(loginDto);
                if (_loginRepository.VerifyLogin(login))
                {
                    var logininfo = _loginRepository.GetLoginInfo(loginDto.UserName);
                    _unitOfWork.ChangeDatabase(logininfo.Company);
                    var userinfo = _userRepository.GetUserInfo(loginDto.UserName);
                    if (userinfo == null)
                    {
                        return(StatusCode(500, "用户信息缺失"));
                    }
                    var tokeninfo = Mapper.Map <Login, LoginCreateDto>(logininfo);
                    Mapper.Map(userinfo, tokeninfo);
                    try
                    {
                        return(new ObjectResult(TokenOperator.GenerateToken(tokeninfo)));
                    }
                    catch (Exception e)
                    {
                        return(StatusCode(500, "生成令牌时出错:" + e.Message));
                    }
                }
            }
            return(BadRequest());
        }