Exemplo n.º 1
0
        public async Task <JsonResult> AppLogin(ApiLoginBean loginBean)
        {
            CheckModelState();

            // 对密码进行AES解密
            loginBean.username = EncryptHelper.AesDecrpt(loginBean.username);
            loginBean.password = EncryptHelper.AesDecrpt(loginBean.password);

            var loginModel = new LoginViewModel
            {
                UsernameOrEmailAddress = loginBean.username,
                Password    = loginBean.password,
                TenancyName = loginBean.tenancyname
            };

            var loginResult = await GetLoginResultAsync(
                loginModel.UsernameOrEmailAddress,
                loginModel.Password,
                loginModel.TenancyName
                );

            ValidateCycleAndComplex(loginModel, loginResult);//密码复杂度和周期校验

            await SignInAsync(loginResult.User, loginResult.Identity, loginModel.RememberMe);

            var userBean = new ApiUserBean
            {
                id   = loginResult.User.Id,
                name = loginResult.User.UserName,
            };

            //return Json(userBean);
            return(Json(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(userBean))));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 登录时获取用户信息
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string GetUserLoginInfo(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _userInfoAppService.GetUserLoginInfo(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string FileDel(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _fileAppService.FileDel(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 检查版本更新
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string CheckUpdate(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _appCommonAppService.CheckUpdate(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 点赞内容评论
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string LikeContentReview(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _contentAppService.LikeContentReview(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 分页获取评论的回复
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string ContentReviewCommentList(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestPageBean>(decrptStr);

            var result = _contentAppService.GetPageReviewComment(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Exemplo n.º 7
0
        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string UserEditPwd(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestSaveEntityBean <ApiKeyValueBean> >(decrptStr);

            var result = _userInfoAppService.UserEditPwd(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
        public async Task <IActionResult> Token([FromBody] LoginInput input)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var user = await _userRepository
                       .GetEntityAsync(x => x.UserName == input.UserName &&
                                       x.Password == EncryptHelper.AesEncrypt(_configuration["EncryptionKey"], input.Password));

            if (user == null)
            {
                return(BadRequest());
            }
            //这里可自定义申明信息,生成的token登录后可以获取到Claim信息
            var claim = new Claim[]
            {
                new Claim("id", user.Id),         //ClaimTypes.NameIdentifier
                new Claim("name", user.UserName), //ClaimTypes.Name
                new Claim("userNo", "0001"),      //todo-stwhh 需要根据自己需要修改
                //new Claim("role", "admin"), //
                //new Claim("email", "*****@*****.**")
            };

            //对称秘钥
            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtSettings.SecretKey));
            //签名证书(秘钥,加密算法)
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            //生成token  [注意]需要nuget添加Microsoft.AspNetCore.Authentication.JwtBearer包,并引用System.IdentityModel.Tokens.Jwt命名空间
            var token = new JwtSecurityToken(
                issuer: _jwtSettings.Issuer,
                audience: _jwtSettings.Audience,
                claims: claim,
                notBefore: DateTime.Now,
                expires: DateTime.Now.AddMinutes(_jwtSettings.ExpiresInMinute), //有效期
                signingCredentials: creds);

            JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();

            return(Ok(new { token = handler.WriteToken(token) }));
        }
Exemplo n.º 9
0
        public async Task <AddUserOutput> AddUserAsync(AddUserInput input)
        {
            var user = new User()
            {
                Id       = Guid.NewGuid().ToString(),
                UserName = input.UserName,
                Password = EncryptHelper.AesEncrypt(Configuration["EncryptionKey"], input.Password),
                Phone    = input.Phone
            };
            await DbContext.User.AddAsync(user);

            var result = await DbContext.SaveChangesAsync();

            return(new AddUserOutput()
            {
                IsSuccess = result > 0,
                Msg = result > 0 ? "新增成功" : "新增失败"
            });
        }
Exemplo n.º 10
0
        static void Main(string[] args)
        {
            var host = new HostBuilder()
                       .ConfigureHostConfiguration(configHost =>
            {
                configHost.SetBasePath(Directory.GetCurrentDirectory());
                configHost.AddEnvironmentVariables("ASPNETCORE_");
            })
                       .ConfigureAppConfiguration((hostContext, configApp) =>
            {
                configApp.AddJsonFile("appsettings.json", true);
                configApp.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", true);
                configApp.AddEnvironmentVariables();
            })
                       .ConfigureServices((hostContext, services) =>
            {
                services.ConfigureApplicationServices(hostContext.Configuration, hostContext.HostingEnvironment);
            })
                       .Build();

            host.Run();


            //自动生成随机aes 密钥
            byte[] bytes = new byte[16];
            var    rng   = new RNGCryptoServiceProvider();

            rng.GetBytes(bytes);

            var key = Convert.ToBase64String(bytes);
            var me  = EncryptHelper.AesEncrypt("88888", key);


            var resulat = EncryptHelper.AesDecrypt(me, key);

            Console.WriteLine(resulat);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <returns></returns>
        public string FileUp()
        {
            var result = _fileAppService.FileUp();

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }