SpringBoot+Security实现动态权限认证

一.Spring Security框架简介
一个能够为基于Spring的企业应用系统提供声明式的安全訪问控制解决方式的安全框架(简单说是对访问权限进行控制嘛),应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。 spring security的主要核心功能为 认证和授权,所有的架构也是基于这两个核心功能去实现的。
常用安全框架对比
Apache Shiro 相同点:认证;授权;加密…
不同点:Spring Security作为Spring全家桶 对Spring的框架可以无缝集成,使用Spring作为基础,配合Security做权限更加方便。
Shiro依赖性低,可独立运行,Security更依赖Spring容器。
二.开发环境介绍
开发工具:IDEA
开发框架:Spring Boot 2.1.4
Spring Security
MySQL
MyBatis
(项目使用MyBatis和MySQL开发,需要添加相关pom依赖)

三.建数据库表
下面是表内属性,具体建表自行百度。
1.user表(用户表)
user_id (主键)
user_phone
user_password
2. role表(角色表)
role_id(主键)
role_name
3.user_role表(用户角色关联表)
id(主键)
user_id(外键)
role_id(外键)
**四 编写Mybatis XML文件 **
user实体类中添加书写get set方法
SpringBoot+Security实现动态权限认证_第1张图片

SpringBoot+Security实现动态权限认证_第2张图片五 新建类,标注@Service 并实现Security里的UserDetailsService
SpringBoot+Security实现动态权限认证_第3张图片
六.新增Security配置类,标注@Configuration
SpringBoot+Security实现动态权限认证_第4张图片

你可能感兴趣的:(SpringBoot)