1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/puzhiweizuishuai-SpringSecurity-JWT-Vue-Deom

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Аутентификация с использованием JWT и Spring Boot Security

Китайская версия документации

Описание

Это демонстрация аутентификации на основе состояния и токена JSON Web Token с защитой от CSRF, используя Spring Security, Spring Boot и Vue js.

Технологическая стопка

Компонент Технология
Передний конец Vue.js 2
Задний конец (REST) SpringBoot (Java)
Безопасность На основе токена (Spring Security, JJWT, CSRF)
Инструменты сборки клиента vue-cli, Webpack, npm
Инструменты сборки сервера Maven

Быстрый старт

Среда выполнения: Java11, Node 12, Maven3

Клонировать этот проект

git clone https://github.com/PuZhiweizuishuai/SpringSecurity-JWT-Vue-Deom.git

Запустить сервер заднего плана

cd spring-security-jwt
mvn clean package

Затем

java -jar target/security-0.0.1-SNAPSHOT.jar

Запустить сервер переднего плана

cd vue
npm install

Затем

npm run serve

Наконец

Открыть

http://127.0.0.1:8080

Скриншоты

Главная страница

Страница входа

Страница администратора

Безопасность

JWT токены

Для генерации и проверки JWT я использую JJWT. JJWT — это самодостаточная библиотека на Java, предоставляющая создание и проверку JSON Web Tokens.### Стратегия хранения JWT

У нас есть несколько вариантов мест для хранения токена:

  • Хранилище веб-приложений HTML5 (localStorage или sessionStorage)
  • Cookies

Основная проблема использования Web Storage

Она доступна через JavaScript на том же домене. Это значит, что любой JavaScript, работающий на вашем сайте, будет иметь доступ к хранилищу веб-приложений, и поэтому может быть уязвимым к атакам типа Cross-Site Scripting (XSS).

Поэтому, чтобы предотвратить XSS, я храню JWT токен в Http-Only/Secure cookie. Cookies, когда используются вместе с флагом HttpOnly cookie, недоступны через JavaScript и защищены от XSS.

Атака CSRF

Однако, cookies уязвимы к другой форме атаки — cross-site request forgery (CSRF). CSRF-атаки происходят, когда злонамеренный сайт, электронное письмо или блог заставляет браузер пользователя выполнить незапрошенное действие на сайте, на котором пользователь уже авторизован.

Чтобы защититься от CSRF-атак, нам следует создать дополнительный cookie, который можно считывать с помощью JavaScript, называемый XSRF-TOKEN. Этот cookie должен создаваться при входе пользователя и содержать случайную и непредсказуемую строку. Каждый раз, когда JavaScript-приложение хочет отправить запрос, ему следует считывать этот токен и передавать его в специальном HTTP-заголовке.

Справочная документация

Справочник Spring Security

Vue.js

Взаимозависимое программное обеспечение

mavonEditor

element UI

Авторское право и лицензия

Код распространяется под лицензией MIT.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Используя Spring Security, Spring Boot и Vue js, продемонстрировать без сохранения состояния JWT-аутентификацию. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/puzhiweizuishuai-SpringSecurity-JWT-Vue-Deom.git
git@api.gitlife.ru:oschina-mirror/puzhiweizuishuai-SpringSecurity-JWT-Vue-Deom.git
oschina-mirror
puzhiweizuishuai-SpringSecurity-JWT-Vue-Deom
puzhiweizuishuai-SpringSecurity-JWT-Vue-Deom
master