Проверка подлинности форм и контроль входа - PullRequest
0 голосов
/ 12 мая 2010

Я обновляю веб-сайт, написанный на ASP.NET 1.1, и логика для страницы входа включает проверку учетных данных, вызов FormsAuthentication.SetAuthCookie() и заполнение сеанса информацией о пользователе.

Я обновляю эту страницу, чтобы использовать элементы управления входом в систему и API членства, и пытаюсь обдумать концепции, которые были изменены.

  1. Большинство примеров, которые я вижу, ничего не делают в обработчике событий кнопки входа в систему, поэтому логика установки файла cookie, абстрагированного в элемент управления?
  2. Кроме того, как я могу проверить, вошел ли пользователь в систему или нет на других страницах. Сохраняет ли он информацию о пользователе, используя сеанс?
  3. Как проверить, принадлежит ли пользователь определенной роли или нет (Ранее я хотел бы посмотреть на объект Session, чтобы сделать что-то подобное)
  4. Является ли сессия плохим способом хранения информации о пользователе?

Спасибо

1 Ответ

0 голосов
/ 12 мая 2010

Если вы используете членство вместе с элементами управления входом, API обрабатывает аутентификацию пользователя при нажатии кнопки входа. Вы также можете обработать событие, если есть другие вещи, которые вам нужно сделать, когда пользователь входит в систему. Если вы не используете членство, вам придется самостоятельно обрабатывать щелчок при входе и аутентификацию.

вам не обязательно проверять, вошел ли пользователь в систему, если у вас правильно настроена аутентификация в web.config, но если у вас есть страницы, которые вошли в систему, и анонимные пользователи могут получить доступ как вы, так и хотите посмотрите на контроль входа в систему. Вы также можете проверить, вошел ли пользователь, используя Page.User.Identity.IsAuthenticated метод.

Чтобы проверить, находится ли пользователь в роли, просто используйте Page.User.IsInRole («имя роли») или System.Web.Security.Roles.IsUserInRole («имя пользователя», "RoleName")

Я не думаю, что сессия - это плохой способ хранения информации о пользователе, но если вы используете членство, тогда я не вижу смысла.

...