没有合适的资源?快使用搜索试试~ 我知道了~
SpringSecurity架构pdf文档
需积分: 11 967 浏览量
2020-05-24
19:37:15
上传
评论
收藏 910KB PDF 举报
SpringSecurity入门到进阶到高级,是我们老师给我们讲课用的,我们都照着配就没有问题,可以跑通,
资源详情
资源推荐
资源评论

权限控制
知识点-认证和授权
1. 目标
前面我们已经完成了传智健康后台管理系统的部分功能,例如检查项管理、检查组管理、套餐管理、预约设置等。
接下来我们需要思考2个问题:
问题1:在生产环境下我们如果不登录后台系统就可以完成这些功能操作吗?
答案显然是否定的,要操作这些功能必须首先登录到系统才可以。
问题2:是不是所有用户,只要登录成功就都可以操作所有功能呢?
答案是否定的,并不是所有的用户都可以操作这些功能。不同的用户可能拥有不同的权限,这就需要进行授权了。
2. 路径
1. 认证和授权概念
2. 权限模块数据模型
3. 讲解
3.1 认证和授权概念
认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的
目的是让系统知道你是谁。
授权:用户认证成功后,需要为用户授权,其实就是指定当前用户可以操作哪些功能。
1. 标定权限 标定添加套餐需要管理员的权限,
2. 用户登陆后,给用户标定对应的角色 授权
3.2 RBAC (Role Base Access Controll)权限模块数据模型
前面已经分析了认证和授权的概念,要实现最终的权限控制,需要有一套表结构支撑:
用户表t_user、权限表t_permission、角色表t_role、菜单表t_menu、用户角色关系表t_user_role、角色权限关
系表t_role_permission、角色菜单关系表t_role_menu。
表之间关系如下图:

通过上图可以看到,权限模块共涉及到7张表。在这7张表中,角色表起到了至关重要的作用,其处于核心位置,因
为用户、权限、菜单都和角色是多对多关系。
接下来我们可以分析一下在认证和授权过程中分别会使用到哪些表:
认证过程:只需要用户表就可以了,在用户登录时可以查询用户表t_user进行校验,判断用户输入的用户名和密码
是否正确。
授权过程:用户必须完成认证之后才可以进行授权,首先可以根据用户查询其角色,再根据角色查询对应的菜单,
这样就确定了用户能够看到哪些菜单。然后再根据用户的角色查询对应的权限,这样就确定了用户拥有哪些权限。
所以授权过程会用到上面7张表。
4.小结
1. 认证:登陆系统,查询数据库的用户表,用户名与密码是否匹配
2. 授权: 必须是用户登陆后,查询用户有哪些角色?
通过角色查询有哪个权限?
通过角色查询有哪些菜单
3. 表结构:7表: 用户(2) 角色(3) 权限(1) 菜单(1),用户角色表(4),角色权限表(4),角色菜单表(4)
知识点-Spring Security简介

4.小结
1. 它是一款安全框架,提供认证与授权
2. 用它,引入依赖,配置文件.xml, web.xml
案例-Spring Security快速入门
1.需求
使用Spring Security进行控制: 网站首页需要登录才能访问
2.步骤
1. 创建Maven工程 springsecurity_demo,导入坐标
2. 创建spring-security.xml
拦截url的配置
认证管理器
3. 配置web.xml
3.实现
创建maven工程,打包方式为war,为了方便起见我们可以让入门案例工程依赖project_interface,这样相关
的依赖都继承过来了。pom.xml
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>springsecurity_demo</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
剩余15页未读,继续阅读



















资源评论

风雷镇何辅堂
- 粉丝: 3
- 资源: 1

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
