示例#1
0
        public async Task <ActionResult> Login(AuthenticationLoginModel auth)
        {
            var user = await UsersContext.Users.FirstOrDefaultAsync(w => w.Password == auth.Password && w.Username == auth.Username);

            if (user is null)
            {
                return(Unauthorized());
            }

            var token = (ulong)(((long)Random.Next() << 32) + Random.Next());

            UsersContext.Tokens.Add(new Token {
                User = user, TokenValue = token
            });
            await UsersContext.SaveChangesAsync();

            return(Ok(new { token }));
        }
示例#2
0
        public IActionResult Login(AuthenticationLoginModel model)
        {
            if (ModelState.IsValid)
            {
                var user = _authContext.Users.SingleOrDefault(x => x.Login == model.UserName && x.Password == model.Password.Sha256());
                if (user != null)
                {
                    var isUser = new IdentityServerUser(user.ID.ToString())
                    {
                        DisplayName = $"{user.Firstname} {user.Name}"
                    };


                    HttpContext.SignInAsync(isUser);
                }
                ModelState.AddModelError("UserName", "Login / mot de passe invalide");
            }
            return(View());
        }