Ejemplo n.º 1
0
        // Производит процесс аутентификации по переданным логину и паролю
        public bool TryAuth(string login, string password, bool memorize)
        {
            string salt = _usersDB.GetUserSalt(login);

            if (!salt.Equals(""))
            {
                string proposedPass = UsersDB.CreatePasswordHash(password, salt);
                if (proposedPass.Equals(_usersDB.GetUserPassword(login)))
                {
                    int userId = _usersDB.GetUserId(login);

                    if (memorize)
                    {
                        string newUserToken = GenerateUserToken(userId, login);
                        if (_usersDB.AddToken(userId, newUserToken))
                        {
                            AddTokenCookie(newUserToken);
                        }

                        DeleteOldTokens(userId);
                    }

                    CreateUserSession(userId);
                    return(true);
                }
            }

            return(false);
        }