public void TokenGenerate(CheckLoginDto checkLogin) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); string vip = "VIP"; if (!checkLogin.IsVip || !checkLogin.VipExp.HasValue || checkLogin.VipExp.Value < DateTime.Now) { vip = ""; } List <Claim> claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, checkLogin.UserName)); claims.Add(new Claim(ClaimTypes.NameIdentifier, vip)); //IDictionary<string, object> tokenClaims = new Dictionary<string, object>(); //tokenClaims.Add("IsVip", checkLogin.IsVip); foreach (string role in checkLogin.Roles) { claims.Add(new Claim(ClaimTypes.Role, role)); } var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims.ToArray()), Expires = DateTime.UtcNow.AddDays(30), //Claims = tokenClaims, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); checkLogin.Token = tokenHandler.WriteToken(token); }
private void Login() { if (txtUsername.Text.Trim() == string.Empty) { MessageBox.Show("Username is required", "Message"); } else if (txtPassword.Text.Trim() == string.Empty) { MessageBox.Show("Password is required", "Message"); } else { CheckLoginDto checkedLogin = new CheckLoginDto(); DALCheckedLogin checkedLoginAPI = new DALCheckedLogin(); checkedLogin = checkedLoginAPI.CheckedLogin(txtUsername.Text.Trim(), txtPassword.Text.Trim()); if (!checkedLogin.IsSuccess) { MessageBox.Show(checkedLogin.Message, "Message"); return; } this.Hide(); CRMain frm = new CRMain(); frm.Show(); //frm.ShowDialog(); } }
public IActionResult Post([FromBody] LoginDto login) { CheckLoginDto rst = _account.CheckLogin(login); if (string.IsNullOrEmpty(rst.Message)) { _token.TokenGenerate(rst); return(Ok(rst)); } return(BadRequest(rst.Message)); }
public CheckLoginDto CheckLogin(LoginDto login) { string message = ""; IList <string> roles; CheckLoginDto checkLogin = new CheckLoginDto(); ApplicationUser user; var check = _account.CheckLogin(login.Username, login.Password, out message, out user, out roles); checkLogin.Message = message; if (!check) { return(checkLogin); } checkLogin.IsVip = user.IsVip; checkLogin.UserName = user.UserName; checkLogin.VipExp = user.VipExp; checkLogin.Roles = new string[roles.Count]; roles.CopyTo(checkLogin.Roles, 0); return(checkLogin); }
public CheckLoginDto CheckedLogin(string username, string password) { CheckLoginDto checkedLogin = new CheckLoginDto(); try { var objAdmin = contextDB.Users.First(attr => attr.UserName == username && attr.Password == password); checkedLogin.IsSuccess = true; checkedLogin.Permission = 1; checkedLogin.UserId = objAdmin.UserId; checkedLogin.Username = objAdmin.UserName; checkedLogin.Message = "Login is successful"; return(checkedLogin); } catch (Exception exx) { checkedLogin.IsSuccess = false; checkedLogin.Message = "Username or Password is incorrect"; return(checkedLogin); } }