# EasySpringSecurity **Repository Path**: sonyff/easy-spring-security ## Basic Information - **Project Name**: EasySpringSecurity - **Description**: SpringSecurity后端权限管理系统脚手架,权限部分逻辑已经搭建完毕,方便快速上手! --如果你想要一个能基于SpringSecurity实现用户到角色再到每一个请求都纳入权限管理范围的话,那么可以完全基于本脚手架进行开发,每一环节的扩展点都暴露出来且标有注释,适合有一定基础的人员理解并进行二次开发。 --技术点:SpringSecurity+jwt+redis+rbac权限模型 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-20 - **Last Updated**: 2022-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringSecurity, JWT, RBAC ## README ## 导读 EasySpringSecurity项目为SpringSecurity+Jwt+Redis+MySQL+RBAC权限管理系统后端的脚手架,已经把各种扩展点暴露出来,能快速理解上手使用,学习成本低,权限可以精确到控制到用户的每一个请求,现权限逻辑部分功能已经实现,可以基于本脚手架进行二次开发权限系统后台。本脚手架适合一定基础的开发人员,懂得rbac权限模型已经相关Springboot,SpringSecurity,jwt等知识和概念。 ## 前期准备 数据库准备:MySQL、Redis MySQL==>创建dev库 账号:root 密码:root
Redis ===> 不设密码
执行dev.sql脚本。 表设计遵循rbac权限模型,即用户拥有的角色去获得相应角色拥有的权限,表有用户表,角色表,菜单表,以及两两的关系表。 ## 运行示例 用户默认有 **root** 和 **admin** 密码为123,其中root拥有/hello,/admin访问权限,admin只有/hello权限。
1.**登录**
使用PostMan Post 请求路径http://localhost:8080/login 参数为form表单:username:admin password:123 登录拿到 accessToken的值:accessTokenValue ![输入图片说明](https://images.gitee.com/uploads/images/2022/0520/112653_c4f14b5e_6544483.png "屏幕截图.png")
2.**请求路径-权限成功** 使用PostMan Post 请求路径http://localhost:8080/hello Headers设置为accessToken:accessTokenValue ![输入图片说明](https://images.gitee.com/uploads/images/2022/0520/113052_ea3a93e5_6544483.png "屏幕截图.png")
3.**请求路径-权限不足** 使用PostMan Post 请求路径http://localhost:8080/admin Headers设置为accessToken:accessTokenValue ![输入图片说明](https://images.gitee.com/uploads/images/2022/0520/113154_3085af2b_6544483.png "屏幕截图.png")
## SpringSecurity说明 SpringSecurity其实不难,本质上就是一个个过滤器链,其实现步骤主要为**认证**和**鉴定**两个主要步骤。
认证:认证用户是否合法
鉴定:鉴定用户请求资源是否合法
**SpringSecurity过滤链顺序为:用户认证链-jwtToken认证链-用户鉴定链**
**用户认证链**:用户是否存在,密码是否正确
**jwtToken认证链**:用户提交的token是否正确,否则请求失败
**用户鉴定链**:用户请求的资源是否合法,否则拦截提示权限不足 ## SpringSecurity额外 如果想入门SpringSecurity,推荐王松的深入浅出SpringSecurity书。