コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: CRLogin.cs プロジェクト: chutinhha/cafe-restaurant
 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();
     }
 }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
            }
        }