SpringSecurity学习

介绍

SpringSecurity是基于Spring框架,提供了一套web应用安全性完整解决方案;主要解决用户认证和授权。认证:通俗点说就是系统判断用户是否能登录授权:系统判断用户是否有权限去做某些事情

特点

  1. 和Spring无缝整合。
  2. 全面的权限控制。
  3. 专门为Web开发而设计。
  4. 重量级框架(缺点)

入门案例

  1. 创建boot项目添加依赖配置端口(本次案例采用2.3.7版本)
    在这里插入图片描述在这里插入图片描述

在这里插入图片描述2. 运行项目控制台会出现如下一行字符
在这里插入图片描述
3.访问端口会进入SpringSecurity的登录页面(默认用户是user)
在这里插入图片描述
用户名就是user,密码是控制台的那一串,登陆成功后,会出现如下界面就代表操作正确
在这里插入图片描述

基本原理

SpringSecurity本质是一个过滤器链
在这里插入图片描述
两个重要的接口

  1. UserDetailsService接口:
    当什么也没有配置的时候,账号和密码是由SpringSecurity定义生成的。而在实际项目中账号和密码都是数据库中查询出来的。所以我们要通过自定义逻辑来控制认证逻辑。(通俗的讲就是查询用户名和密码的过程,把查询用户名密码写到这个接口里)
    在这里插入图片描述2. PasswordEncoder接口:
    在这里插入图片描述

Web权限方案(三种)

  1. 通过配置文件
    在这里插入图片描述

  2. 通过配置类
    在这里插入图片描述Spring会在上两种方法中找用户名,如果没有去找UserDetailsService接口

  3. 自定义编写实现类
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述导入MP依赖并且编写配置文件
    在这里插入图片描述继承BaseMapper<实体类>
    在这里插入图片描述修改UserDetails类
    在这里插入图片描述
    在这里插入图片描述
    启动测试
    在这里插入图片描述
    进一步优化
    配置类中重写如下方法
    在这里插入图片描述
    编写配置类中定义的页面和controller
    在这里插入图片描述
    在这里插入图片描述

授权

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述AuthorityUtils工具类的三个方法介绍

配置无权限自定义页面

  1. 定义一个页面
    在这里插入图片描述
  2. 把自定义的页面填写到配置中
    在这里插入图片描述

注解的使用

注解使用

用户必须拥有相应的角色才能访问方法
在这里插入图片描述
@PreAuthorize适合进入方法前进行权限校验
在这里插入图片描述
在这里插入图片描述

自动登录

在这里插入图片描述
具体实现
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值