Что вызывать после validateUser () для проверки подлинности форм? - PullRequest
1 голос
/ 20 марта 2012

Я сделал пользовательский поставщик членства и переопределил метод ValidateUser, но теперь я в замешательстве.Я не использую элементы управления входом в систему, у меня есть только широкая страница входа в систему (имя пользователя и пароль) на главной странице.

Вопросы:

  1. Нужно ли самому вызывать метод ValidateUser ()?Если да, какие дальнейшие шаги нужно предпринять?Создаю ли файл cookie аутентификации, какие методы мне нужно вызывать для завершения входа в систему?

  2. Мне нужно вернуть некоторые пользовательские данные пользователя, если пользователь прошел аутентификацию.Лучше вызвать GetUser и проверить на нулевое значение или просто вызвать ValidateUser и затем захватить пользовательский объект?

    1. Где и как мне хранить пользовательские данные для пользователя?Хранится ли он в объекте идентификации?Должен ли я сохранить его в объекте MembershipUser?

1 Ответ

2 голосов
/ 20 марта 2012

Да, вы проверяете правильность учетных данных, выполняя вызов, такой как

Membership.ValidateUser(TextBoxUsername.Text, TextBoxPassword.Text)

Если приведенный выше вызов возвращает true, вам необходимо установить файл cookie для аутентификации следующим образом:

FormsAuthentication.SetAuthCookie(TextBoxUsername.Text, CheckboxRememberMe.Checked);

Там я использовал флажок «запомнить меня», если вы хотите войти автоматически в следующий раз.

Чтобы получить данные пользователя, вы можете позвонить

Membership.FindUsersByName(TextBoxUsername.Text)

Самое удобное место, где вы можете хранить данные пользователя, это сеанс.

Вы не спрашивали, но не менее важной была бы страница выхода. Функциональные возможности, необходимые для отмены шагов входа в систему:

FormsAuthentication.SignOut();
Session.Abandon();
Response.Redirect("~/login.aspx", false);//or homepage, or any other page
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...