适合初学者入门 Spring Security With JWT 的 Demo

适合初学者入门 Spring Security With JWT 的 Demo

原创: SnailClimb JavaGuide 

 

Demo 地址:https://github.com/Snailclimb/spring-security-jwt-guide 。欢迎 star!

Spring Security 是Spring 全家桶中非常强大的一个用来做身份验证以及权限控制的框架,我们可以轻松地扩展它来满足我们当前系统安全性这方面的需求。

但是 Spring Security 相比于其他一些技术比如 JPA 来说更难上手,很多人初学的时候很难通过看视频或者文档发就很快能独立写一个 Demo 出来,于是后面可能就放弃了学习这个东西。

刚来公司的时候的入职培训实战项目以及现在正在做的项目都用到了 Spring Security 这个强大的安全验证框架,可以看出这个框架在身份验证以及权限验证领域可以说应该是比较不错的选择。由于之前经历项目的这部分模块都不是自己做的,所以对于 Spring Security 并不是太熟悉。于是自己抽时间对这部分知识学习了一下,并实现了一个简单的 Demo 。这个 Demo 主要用到了Spring Security和 Spring Boot这两门技术,并且所有的依赖采用的都是最新的稳定版本。初次之外,这个项目还用到了 JPA这门技术。项目代码结构如下(chrome插件:octree),整体还是比较清晰的,由于自己的能力以及时间有限,所以一定还有很多可以优化的地方,有兴趣的朋友可以一起完善,期待你的 PR。Demo 地址:https://github.com/Snailclimb/spring-security-jwt-guide。(前端代码采用 React 框架写的,目前只写了登录功能,后面完善之后也会开源出来。具体技术介绍以及详细实现过程和原理的解析会在国庆节期间更新出来。)

适合初学者入门 Spring Security With JWT 的 Demo

代码结构

下载配置

  1. git clone https://github.com/Snailclimb/spring-security-jwt-guide.git

  2. 打开项目并且等待Maven下载好相关依赖。建议使用idea 打开,并确保你的idea 下载了 lombok插件。

  3. 修改 application.properties 将数据库连接信息改成你自己的。

示例

1.注册一个账号

适合初学者入门 Spring Security With JWT 的 Demo

Register

2.登录

适合初学者入门 Spring Security With JWT 的 Demo

Login

3.使用正确Token访问需要进行身份验证的资源

适合初学者入门 Spring Security With JWT 的 Demo

Access resources that require authentication

4.不带Token访问需要进行身份验证的资源

适合初学者入门 Spring Security With JWT 的 Demo

Access resources that require authentication without token

5.使用不正确Token访问需要进行身份验证的资源

适合初学者入门 Spring Security With JWT 的 Demo