Как Membership.getUser() позволяет текущему пользователю войти в систему?

#asp.net #oracle #cookies

#asp.net #Oracle #файлы cookie

Вопрос:

Мой логин устанавливает cookie с FormsAuthentication.SetAuthCookie(Convert.ToString(Login1.UserName), True) после успешной проверки имени пользователя и пароля.

Используя Membership.GetUser(username) , я могу успешно загрузить MembershipUser объект. Однако без параметра username Memebership.GetUser() метод возвращает null.

В документах говорится, что getUser(): получает информацию из источника данных и обновляет отметку даты / времени последнего действия для текущего зарегистрированного пользователя-участника.

Что должно быть в файле cookie, верно? Я перешел к cookie, и файл cookie сеанса существует, но текущий зарегистрированный пользователь по-прежнему возвращает null.

Где GetUser() искать текущего зарегистрированного пользователя?

Как я могу сохранить текущего зарегистрированного пользователя, если проверка прошла успешно?

Я использую oracle membership provider.

Ответ №1:

Из документации MSDN:

http://msdn.microsoft.com/en-us/library/fcxcb339(v=vs.110).aspx

getUser() извлекает информацию о пользователе из источника данных и создает объект MembershipUser, заполненный возвращенными данными. Если вы используете одну из перегрузок getUser, которая не принимает параметр username, getUser возвращает информацию для текущего зарегистрированного пользователя-участника. Текущий зарегистрированный пользователь-член идентифицируется по имени пользователя в текущем HttpContext.

Комментарии:

1. Да, я полагаю, что именно так это делает поставщик членства в asp. Здесь я использую oracle