public async Task <IActionResult> Login([FromBody] Req <AdminLoginDto> request) { var rsa = RsaHelper.Instance; if (request.CheckSign(rsa.PrivateKey, rsa.RsaModulus, rsa.RsaExponent, out string msg) == false) { return(Error(msg)); } if (request.DecryptData() == false) { return(Error("数据错误!")); } if (CheckSession(SessionSetting.AdminLoginCode, request.Data.Vcode) == false) { return(Error("验证码错误!")); } DeleteSession(SessionSetting.AdminLoginCode); var admin = await _adminApplication.AdminLogin(request); if (admin == null) { return(Error(request.Message)); } SetSession(SessionSetting.AdminSession, new AdminSessionDto(admin.Id, admin.Name, admin.TrueName, admin.JobNo)); var setting = await _adminApplication.GetSettingValueByCode("CookieTimes");//cookie 保存时间 int mins = 0; if (setting != null) { if (int.TryParse(setting.Value, out mins) == false) { mins = 180 * 60; } } if (mins < 600) { mins = 180 * 60; } string cookie = SetAdminCookieDto(CookieSetting.AdminCookie, CacheHelper.CreateAdminCookieDto(admin, mins)); await _adminApplication.SetAdminCookie(admin.Id, cookie, request.PasswordString); CacheHelper.SetAdminSessionId(admin.Id, cookie, request.PasswordString); var rsaKey = RsaUtil.PrivateEncrypt(rsa.PrivateKey, request.PasswordString); return(Success(new { RsaKey = rsaKey })); }