public void SendTest() { var helper = new EmailSendHelper { Host = "smtp.exmail.qq.com", Port = 587, EnableSsl = true, From = "", UserName = "", Password = "", To = "*****@*****.**", Subject = "test", Body = "test" }; var b = helper.Send(); Assert.True(b); }
public async Task <IActionResult> EmployeeLoginAsync([FromBody] LoginDto loginDto) { var loginEmp = await wrapperRepository.EmployeeRepository.LoginAsync(loginDto); //Employees employees = new Employees() { Email="*****@*****.**",Name= "fsnysohui" ,Phone="44861231"}; if (loginEmp == null) { return(NotFound()); } //生成密钥 SymmetricSecurityKey key = new SymmetricSecurityKey(System.Text.Encoding.ASCII.GetBytes("asdadhajhdkjahsdkjahdkj9au8d9adasidoad89asu813e")); //生成签名 var sig = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature); //声明你是谁 List <Claim> claimList = new List <Claim>() { new Claim(ClaimTypes.Name, loginEmp.ID.ToString()), //type //value new Claim(ClaimTypes.Email, loginEmp.Email), new Claim(JwtClaimTypes.PhoneNumber, loginEmp.Phone), new Claim(JwtClaimTypes.NickName, loginEmp.Name), }; //获取员工对应的角色信息 var roles = await wrapperRepository.Employee_RoleRepository.GetEmployees_RolesAsync(loginEmp.ID); foreach (var item in roles) { claimList.Add(new Claim(ClaimTypes.Role, item.RoleName)); } //if(loginEmp.ID==1) //{ // claimList.Add(new Claim(ClaimTypes.Role, "管理员")); //} //else //{ // claimList.Add(new Claim(ClaimTypes.Role, "员工")); //} //创建一个jwt安全对象 var jwtObj = new JwtSecurityToken( issuer: "www.zhangquque.com", //发行人 audience: "www.gaozijian.com", //签收者 claims: claimList, signingCredentials: sig, expires: DateTime.Now.AddHours(2) ); string token = new JwtSecurityTokenHandler().WriteToken(jwtObj); //书写token //发送邮箱登录提醒 EmailSendHelper.SendLoginEmail(loginEmp.Email, configOptions.EmailPassword); //计入登录日志 await wrapperRepository.LogRepository.AddAsync( new Logs { Content = $"{loginEmp.Name}在{DateTime.Now}上线", CreateTime = DateTime.Now, CreateID = loginEmp.ID, CategoryID = 1 } ); await wrapperRepository.LogRepository.SaveAsync(); return(Ok(new { token = token })); }