предисловие
Метод аутентификации без сохранения состояния JWT (веб-токен json) становится все более популярным. С помощью SpringSecurity+SpringBoot можно реализовать элегантную функцию аутентификации.
Для объяснения безопасности SpringBoot+ вы можете обратиться к моим предыдущим статьям:у-у-у-у. headline.com/i6704647082…
Чтобы уменьшить нагрузку на повторную сборку колес и облегчить ваше копирование и ссылки, я выложил на свой гитхаб полный проект, разработанный SpringBoot+JWT+SpringSecurity+Mybatis-Plus, что удобно для меня и других.
исходное заявление
Эта статья была опубликована на сайте Nuggets [Happyjava]. Адрес Happy’s Nuggets:Наггетс. Талант / пользователь / 398428 ..., Счастливого личного блога :(blog.happyjava.cn)[blog.happyjava.cn]. Перепечатки приветствуются, но это заявление должно быть сохранено.
Получение исходного кода
github, вы можете обратиться к концу статьи.
Возможности реализованные проектом
1. Интегрируйте простой в использовании и удобный Mybatis-plus
2, интеграция jwt
3, интеграция Spring Security
Простая демонстрация
Настройте пути перехвата и освобождения
Не авторизовался в запросе
Будет перехвачен и возвращен 401. Возвращаемый контент может быть настроен пользователем
Авторизоваться
После успешного входа в систему доступа к интерфейсу, который требует входа в систему
Данные успешно запрашиваются здесь.
Получить текущего пользователя, вошедшего в систему, с помощью аннотаций
Развертывание проекта
Подготовка базы данных
Создайте тест базы данных и создайте таблицу следующим образом:
CREATE TABLE `admin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
После создания таблицы введите имя пользователя и пароль самостоятельно.
Изменить профиль Applicatoin.properties
Исправьте конфигурацию пароля данных и другие настройки.
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 需要手写mapper打开此配置
mybatis-plus.mapper-locations=classpath:mappers/*.xml
# jwt的密钥
jwt.secret.key=happyjava1234214214asfasfasfasdf
# jwt过期时间
jwt.token.expired=360000
Вы также можете настроить ключ шифрования и срок действия токена jwt.
Стартовый проект
Запустите проект для тестирования через интерфейс
Адрес источника
Обратите внимание на публичный аккаунт, чтобы получить информацию
Ищите в официальном аккаунте [Happyjava], отвечайте на [электронные книги] и [видео], вы можете получить большое количество качественных электронных книг и видеоматериалов, таких как большие данные, kafka, nginx, MySQL и т. д.