/// <summary> /// 管理员登录 /// </summary> /// <param name="command"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Result <LoginTokenDto> > LoginAsync(AdminUserLoginCommand command, CancellationToken cancellationToken) { (var accessToken, var refreshToken) = await authService.LoginAsync(command, cancellationToken); return(RestFull.Success(data: new LoginTokenDto { Token = accessToken })); }
public async Task <Result <LoginTokenDto> > LoginAsync([Required][FromBody] AdminUserLoginCommand request, CancellationToken cancellationToken) { (var accessToken, var refreshToken) = await authService.LoginAsync(request, cancellationToken); return(RestFull.Success(data: new LoginTokenDto { Token = accessToken })); }
public async Task <Result <LoginTokenDto> > Login([FromBody] AdminUserLoginCommand command, CancellationToken cancellationToken) { (var accessToken, var refreshToken) = await _adminManager.LoginAsync(command); // 设置 Swagger 自动登录 Web.HttpContext.SigninToSwagger(accessToken); // 设置刷新 token Web.HttpContext.Response.Headers["x-access-token"] = refreshToken; return(RestFull.Success(data: new LoginTokenDto { Token = accessToken })); }
public async Task <(string, string)> LoginAsync(AdminUserLoginCommand command) { var user = await bus.SendCommand(command); // 生成 token var accessToken = JWTEncryption.Encrypt(new Dictionary <string, object> { { userId, user.Id }, { userName, user.UserName } }); // 生成 刷新token var refreshToken = JWTEncryption.GenerateRefreshToken(accessToken); return(accessToken, refreshToken); }
public async Task <IActionResult> IndexAsync() { //测试接入登录 var command = new AdminUserLoginCommand { Account = "", Password = "" }; //验证命令模型 if (!command.IsVaild()) { throw new Exception(command.GetErrors("")); } //登录 var res = await adminLoginAppService.Login(command, CancellationToken.None); return(View()); }
public async Task <(string, string)> LoginAsync(AdminUserLoginCommand command, CancellationToken cancellationToken = default) { var user = await adminUserService.LoginAsync(command, cancellationToken); // 生成 token var accessToken = JWTEncryption.Encrypt(new Dictionary <string, object> { { userId, user.Id }, { userName, user.UserName } }); // 生成 刷新token var refreshToken = JWTEncryption.GenerateRefreshToken(accessToken); // 设置 Swagger 自动登录 Web.HttpContext.SigninToSwagger(accessToken); // 设置刷新 token Web.HttpContext.Response.Headers["x-access-token"] = refreshToken; return(accessToken, refreshToken); }
public async Task <Result <LoginTokenDto> > LoginAsync([Required][FromBody] AdminUserLoginCommand command, CancellationToken cancellationToken) { return(await loginAppService.LoginAsync(command, cancellationToken)); }
public async Task <(string, string)> LoginAsync(AdminUserLoginCommand request, CancellationToken cancellationToken = default) { var user = default(AdminUserEntity); request.Password = Encrypt.Md5By32(request.Password); var loginWay = ""; if (!Valid.IsMobileNumberSimple(request.Account)) { user = await db.Context.AdminUser.Where(c => c.UserName.Equals(request.Account)).FirstOrDefaultAsync(cancellationToken); if (user == null) { Failure.Error("账号不存在"); } loginWay = "Mobile"; } else { user = await db.Context.AdminUser.Where(c => c.Mobile.Equals(request.Account)).FirstOrDefaultAsync(cancellationToken); if (user == null) { Failure.Error("手机号码不存在"); } loginWay = "UserName"; } if (!user.Password.Equals(request.Password)) { Failure.Error("密码错误"); } if (user.Status != Status.Show) { Failure.Error("您的帐号禁止登录,请与管理员联系!"); } user.LoginCount += 1; user.LoginLastTime = DateTime.Now; user.LoginLastIp = Web.IP; user.LoginRecords.Add(new LoginRecordEntity { AdminId = user.Id, LoginIp = user.LoginLastIp, LoginTime = user.LoginLastTime, LoginWay = loginWay }); db.Update(user); // 生成 token var accessToken = JWTEncryption.Encrypt(new Dictionary <string, object> { { userId, user.Id }, { userName, user.UserName } }); // 生成 刷新token var refreshToken = JWTEncryption.GenerateRefreshToken(accessToken); // 设置 Swagger 自动登录 Web.HttpContext.SigninToSwagger(accessToken); // 设置刷新 token Web.HttpContext.Response.Headers["x-access-token"] = refreshToken; return(accessToken, refreshToken); }