Лучший подход для входа в сеть
Я разрабатываю динамический веб-проект JSP на Eclipse.
Я хочу создать сайт с функцией входа в систему. Я намерен хранить учетные записи пользователей и пароли в базе данных MySQL. Конечно, разные пользователи имеют разные роли и права на доступ к разным веб-страницам. Каков наилучший подход для его реализации?
До сих пор я знаю эти подходы:
1) Пользователи вводят учетные записи / пароли в login.jsp. Затем LoginServlet подключается к базе данных MySQL, чтобы проверить, правильно ли это. AuthenticationFilters обеспечит доступ к определенным страницам только пользователям с правами.
2) Используйте аутентификацию на основе ролей, объявив роли пользователей в web.xml. Я считаю, что этот подход не гибкий, потому что мне нужно заранее объявить роли.
3) Используйте методы входа / выхода из HttpServletRequest. Я не изучал это.
Правильно ли мое понимание? Может кто-нибудь дать мне несколько советов? Некоторые подсказки были бы очень полезны!
Кроме того, я знаю, что использование только POST для отправки паролей недостаточно безопасно. Многие сайты предлагают использовать HTTPS-соединения. Так что, если использовать соединения HTTPS, влияет ли это на подход, который я выбрал для реализации функции входа в систему?
Спасибо!
-
Теперь я знаю, что мне нужно использовать Spring. Но Spring кажется мне трудным... На сайте Spring я не могу найти ссылку для скачивания jar-файлов. В руководстве пользователя говорится, что мне нужно использовать Gradle или Mave n, который я раньше не использовал, и понятия не имею, зачем они мне нужны. Кроме того, есть много весенних проектов. Какой из них выбрать? Весенние рамки?
-
1 ответ
Вы изучали использование Spring Security? Он построен только для этого. Вам не нужно быть знакомым с Spring, но это может помочь. Вот несколько руководств, которые используют аутентификацию базы данных:
1: Пример аутентификации и авторизации Spring Security с учетными данными базы данных
2: Пример входа в Spring Security с базой данных
Редактировать:
Вы не должны Maven или Gradle. Вы можете просто добавить банки в путь сборки, и они будут работать. Единственные проекты, которые необходимо реализовать для входа в систему, - это Spring Framework и Spring Security.
Чтобы использовать Spring Security без Maven или Gradle:
Загрузите файлы Spring Framework, разархивируйте их и добавьте в свой проект и соберите путь. Вероятно, хорошей идеей будет найти урок Hello World, используя Spring, чтобы начать работу. Быстрый поиск Google должен получить много результатов.
После того, как вы внедрили Spring в свой проект, загрузите JAR- файлы Spring Security, разархивируйте их и добавьте в путь сборки. Ссылки на учебники, которые я ранее разместил, помогут вам начать. Чтобы пройти через них, может потребоваться некоторое время, и вы можете не совсем точно понять, что происходит за кулисами, но как только вы его настроите, это работает замечательно. Я также не уверен, используете ли вы конфигурацию xml или конфигурацию Java, но я считаю, что эти учебники предназначены для xml.
Spring Security был построен таким образом, чтобы его можно было добавить в любой проект, и вы сможете приступить к работе с базовой конфигурацией примерно за 15 минут. После того, как вы начнете базовую регистрацию (она будет использовать общую форму входа в систему), вы сможете найти, как реализовать свою собственную форму входа в систему, добавить разрешения или ограничения для пользователей и шаблоны URL, добавить пользовательские фильтры и т. Д. Я рекомендую вам потратьте некоторое время на изучение его, поскольку он очень гибкий и настраиваемый.