1. Введение
Эта статья является продолжением нашей текущей регистрация в серии весенних .
В этой статье мы посмотрим, как разработать пользовательскую страницу входа для пользователя, который возвращается в наше приложение. Пользователь будет встречен со стандартным “Добро пожаловать …” Сообщение.
2. Добавление долго прожитого печенья
Один из способов определить, возвращается ли пользователь на наш веб-сайт, — добавить долгоиговое cookie (например, 30 дней) после того, как пользователь успешно вошел в систему. Чтобы развить эту логику, мы должны реализовать наши АутентификацияУцессХендлер который добавляет cookie после успешной проверки подлинности.
Давайте создадим наш пользовательский MyCustomLoginAuthenticationSuccessHandler и реализовать onAuthenticationSuccess () метод:
@Override public void onAuthenticationSuccess(final HttpServletRequest request, final HttpServletResponse response, final Authentication authentication) throws IOException { addWelcomeCookie(gerUserName(authentication), response); redirectStrategy.sendRedirect(request, response, "/homepage.html?user=" + authentication.getName()); }
Основное внимание здесь уделяется призыву addWelcomeCookie () метод.
Теперь давайте посмотрим на код, чтобы добавить cookie:
private String gerUserName(Authentication authentication) { return ((User) authentication.getPrincipal()).getFirstName(); } private void addWelcomeCookie(String user, HttpServletResponse response) { Cookie welcomeCookie = getWelcomeCookie(user); response.addCookie(welcomeCookie); } private Cookie getWelcomeCookie(String user) { Cookie welcomeCookie = new Cookie("welcome", user); welcomeCookie.setMaxAge(60 * 60 * 24 * 30); return welcomeCookie; }
Мы установили печенье с ключом “Добро пожаловать” и значение, которое является самым первоеимя . Срок действия файла cookie истекает через 30 дней.
3. Чтение cookie на форме входа
Последний шаг заключается в том, чтобы читать cookie всякий раз, когда форма входа загружается, и если присутствует, получить значение для отображения приветственного сообщения. Мы можем сделать это легко с Javascript.
Во-первых, давайте добавим заполнителя “Добро пожаловатьтекст” для отображения нашего сообщения на странице входа:
Теперь давайте посмотрим на соответствующий Javascript :
function getCookie(name) { return document.cookie.split('; ').reduce((r, v) => { const parts = v.split('=') return parts[0] === name ? decodeURIComponent(parts[1]) : r }, '') } function display_username() { var username = getCookie('welcome'); if (username) { document.getElementById("welcometext").innerHTML = "Welcome " + username + "!"; } }
Первая функция просто считывает файл cookie, который был установлен во время вошли в систему пользователя. Вторая функция манипулирует HTML-документом, чтобы установить приветственное сообщение при присутствуют файлы cookie.
Функция display_username () вызывается на HTML тега на загрузку события:
4. Заключение
В этой быстрой статье мы видели, как просто настроить пользовательский интерфейс, изменив поток проверки подлинности по умолчанию весной. Много сложных вещей можно сделать на основе этой простой установки.
К странице входа в этот пример можно получить через /customLogin URL-адрес. Полный код этой статьи можно найти более на GitHub .