Я использую Spring Framework 3.0.5 и Spring Security 3.0.5 для разработки веб-приложения, в котором пользователи могут входить и выходить из системы с помощью Remember-Me-Service, если они этого хотят.
Поскольку у меня нет большого опыта, мне интересно, работает ли он правильно. Я использую PersistentTokenApproach (с моей собственной реализацией, потому что я использую Hibernate.) Я вижу, что cookie создается при входе в систему и удаляется при выходе из системы.
Если у меня есть действующий файл Remember-Me-Cookie и я закрываю браузер, я снова успешно войду в систему, когда снова открою браузер. Пока все хорошо.
Теперь я просто хотел бы знать, работают ли те вещи, которые я заметил, как они ожидаются, или я, возможно, допустил ошибку.
1) Когда пользователь входит в систему без запомнить меня и вкладка браузера закрывается (не сам браузер), при открытии новой вкладки браузера он все еще проходит проверку подлинности (он использует тот же JSESSIONID). При закрытии браузера и повторном открытии он больше не проходит проверку подлинности. Относительно безопасности веб-приложения, это рекомендуемое («нормальное») поведение?
2) Когда запомнился я и пользователь успешно аутентифицирован (по логину или позже по cookie), проверки cookie больше не выполняются. это означает, что если пользователь в сети будет удалять куки из базы данных, пользователь все равно будет авторизован, ему будет разрешено просматривать даже защищенные страницы. Я предполагаю, что это происходит, потому что он был аутентифицирован прежде и продолжает использовать тот же SESSIONID. Когда я закрываю браузер и снова открываю его, он больше не аутентифицируется.
3) Когда я не владею cookie-файлом и не открываю главную страницу, для каждого отправляемого мной запроса (каждого изображения, каждого файла на странице) сервер проверяет наличие файла cookie запомнить. Это правильно?
Извините за вопросы новичка, но я просто хочу убедиться, что все работает как надо. :-) Заранее спасибо!