spring security

SpringSecurity权限管理框架
认证:通过用户名和密码成功登录系统后,让系统得到当前用户的角色身份//通俗点说就是系统认为用户是否能够登录

授权:系统根据当前用户的角色,给其授予对应可以操作的资源。//通俗点讲就是系统判断用户是否有权限去做某些事情
在这里插入图片描述

SpringSecurity :本质是一个过滤器链**
从一启动是可以获取到过滤器链,然后过滤请求

SpringSecurity特点:
1:和 Spring 无缝整合。

2:全面的权限控制。

3:专门为 Web 开发而设计。

4: 新版本对整个框架进行了分层抽取,分成了核心模块和Web 模块。单独引入核心模块就可以脱离Web 环境。
5:重量级。(强调高可伸缩性,适合与开发大型企业应用)

完成权限管理需要的三个对象
用户:主要包含用户名,密码和当前用户的角色信息,可实现认证操作。
角色:主要包含角色名称,角色描述和当前角色拥有的权限信息,可实现授权操作。
权限:权限也可以称为菜单,主要包含当前权限,URL地址等信息,可实现动态展示菜单。
注:在这个三个对象中,用户与角色是多对多的关系,角色与权限是多对多的关系,用户与权限没有直接关系,二者是通过角色来建立关联关系的。

权限管理中的相关概念
主体 英文单词:principal
使用系统的用户或设备或从其他系统远程登录的用户等等。简单说就是谁使用系 统谁就是主体。
认证 英文单词:authentication
权限管理系统确认一个主体的身份,允许主体进入系统。简单说就是“主体”证 明自己是谁。 笼统的认为就是以前所做的登录操作。
授权 英文单词:authorization
将操作系统的“权力”“授予”“主体”,这样主体就具备了操作系统中特定功能的能力。所以简单来说,授权就是给用户分配权限。

两个重要的接口
UserDetailsService 接口讲解:当什么也没有配置的时候,账号和密码是由 Spring Security 定义生成的。而在实际项目中 账号和密码都是从数据库中查询出来的。 所以我们要通过自定义逻辑控制认证逻辑。返回值 UserDetails
实现登录认证
PasswordEncoder 接口讲解
password接口
BCryptPasswordEncoder 是 Spring Security 官方推荐的密码解析器,平时多使用这个解析器。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值