Я пишу очень простую систему авторизации. Я не хочу использовать Spring Security. Я хочу написать очень простой auth, основанный на сеансах, cookie и MySQL.Java Spring 3 - прочитайте cookie в приложении init
Теперь, запомните мне функциональность Я хочу, чтобы каждый раз, когда страница загружается, метод проверяет файлы cookie.
Я создаю init-bean, он работает. Но когда я пытаюсь читать cookie, это терпит неудачу.
Для печенья мне нужен HttpServletRequest. Так это то, что я делаю в Init-боба:
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("Init-Bean started");
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getRequest();
// Cookie cookies[] = request.getCookies();
//
// for (Cookie c : cookies) {
// System.out.println(c.toString());
// }
}
Я терпит неудачу на GetRequest
я получаю: Ошибка при создании боб с именем «AUTH»: Призвание метод инициализации не удалось; Вложенное исключение - java.lang.NullPointerException
Есть ли способ получить HttpServletRequest из init-bean? Есть ли другой способ?
То, что я хочу это: загрузка страницы, прочитать куки, если печенье существует -> проверить, если пользователь существует в БД -> начать сеанс
TNX.
P.S Я чувствую себя потерянным после перехода с PHP на весну (на PHP это просто глобальный массив, 1 строка кода). iN asp.net MVC Я сделал это в MvcApplication. Но в Java SPRING 3 Я не везет ...
Это не имеет никакого смысла. Куки-файлы применяются к определенным HTTP-запросам; почему вы думаете, что cookie будет присутствовать при запуске? Кроме того, вам может быть лучше написать фильтр для Spring Security и позволить ему обрабатывать все управление сеансом. – chrylis
Я ненавижу весну xmls и тонну ненужного кода ... Это должна быть очень простая задача. Куки-файлы и сеансы - очень простые вещи. Как я могу запросить «cathc», чтобы мне не нужно писать код в методе каждого контроллера? В ASP.NET я делал это в классе Application, я не могу найти что-то подобное весной ... –
Для конфигурации Modern Spring не требуется XML для большинства настроек, и посмотрите на Spring Boot для упрощенного способа настройки среды выполнения. Я знаю, как настроить весь XML для Spring 'war', но Spring Boot делает его настолько легким, что я использую его для всех моих развертываний. – chrylis