Как вы можете идентифицировать и переслать "не авторизованных" пользователей обратно на страницу входа?

Я создал веб-приложение, используя JSP, Servlet и JDBC (БЕЗ РАМКИ). У нас есть безопасность аутентификации на основе форм, когда пользователь должен войти в систему первым. Имена пользователей и пароли находятся в базе данных, и, как и в любом интернет-приложении, имя пользователя и пароли создаются самими пользователями.

Мы использовали Java Sessions идентифицировать пользователей и выяснить, вошел ли человек в систему или нет. что мы делаем на каждой странице сервлета и странице JSP, мы проверяем, является ли сеанс новым или нет, и доступен ли сеанс, если есть какие-либо проблемы, мы перенаправляем пользователей обратно на страницу входа. Это защищает пользователей, имеющих прямой доступ к URL-адресам, таким как www.xxx.com/questions?idEmployee=1,

Теперь проблема приходит. Я знаю, что нам не нужно писать код Java на каждой странице, чтобы проверить, вошел ли человек в систему или нет. Есть что-то, что мы можем сделать с дескриптором развертывания, верно? Так что он может автоматически проверять вещи и пересылать пользователям.

Однако ответы, которые я нашел в Google, касаются жесткого кодирования имени пользователя и пароля в дескрипторе развертывания, поэтому для нас это бесполезно. Итак, как мы можем решить эту проблему без жесткого кодирования имен пользователей и паролей в дескрипторе развертывания?

2 ответа

  • Вариант 1: как предлагают другие Filters,
  • Вариант 2: Написать JSP для проверки сеанса и перенаправить пользователя, если требуется. Теперь импортируйте упомянутый jsp для сброса jsp, которые требуют допустимого сеанса.

Лучшее решение - написать один класс Filter (Servlet), который позволит избежать перезаписи кода каждого файла JSP.

В классе фильтра вы можете проверить сеанс.

Другие вопросы по тегам