Spring Security(1)权限控制(表结构)与Spring Security概述

本文介绍了权限控制的基础概念,包括认证和授权,以及在数据库层面如何通过用户表、权限表、角色表等实现权限管理。此外,还探讨了SpringSecurity框架,它简化了认证和授权流程,并提供了相关依赖。SpringSecurity与Apache Shiro是主流的安全框架,常用于构建安全的Web应用。
摘要由CSDN通过智能技术生成

1 权限控制

1.1 认证和授权

要操作系统的功能必须首先登录到系统才可以,而不同的用户可能拥有不同的权限,这就需要进行授权了。

认证:系统提供的用于识别用户身份的功能,

通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁

授权用户认证成功后,需要为用户授权,其实就是指定当前用户可以操作哪些功能

1.2 权限模块数据模型

我们知道了认证和授权的概念,但是要实现最终的权限控制,就需要有一套表结构支撑

  • 如下所示:里面有
    1. 用户表t_user、
    2. 权限表t_permission、
    3. 角色表t_role、
    4. 菜单表t_menu、
    5. 用户角色关系表t_user_role、
    6. 角色权限关系表t_role_permission、
    7. 角色菜单关系表t_role_menu。
  • 表间关系为:这一套表结构对于不同的系统来说,设计的方式基本是一样的,这一套数据库的设计是比较固定的,对权限设计的话
    在这里插入图片描述

表结构说明:

  1. 在这7张表中,角色表起到了至关重要的作用,其处于核心位置,因为用户、权限、菜单都和角色是多对多关系

  2. 认证和授权过程中分别会使用到哪些表

    认证过程:只需要用户表就可以了,在用户登录时可以查询用户表t_user进行校验,判断用户输入的用户名和密码是否正确。

    授权过程:用户必须完成认证之后才可以进行授权

    1. 首先可以根据用户查询其角色
    2. 再根据角色查询对应的菜单,这样就确定了用户能够看到哪些菜单。
    3. 然后再根据用户的角色查询对应的权限,这样就确定了用户拥有哪些权限。
    4. 所以授权过程会用到上面7张表

2 Spring Security概述

Spring Security是 Spring提供的安全认证服务的框架。
使用Spring Security可以帮助我们来简化认证和授权的过程。
官网:https://spring.io/projects/spring-security
在这里插入图片描述
对应的maven坐标:

<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>

常用的权限框架除了Spring Security,还有Apache的shiro框架。这两个都是比较主流的框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

?abc!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值