authorization权限控制_SpringBoot整合Shiro实现权限管理与登陆注册

本文介绍了SpringBoot如何与Shiro整合进行权限管理,包括授权和认证。Shiro是一个安全框架,处理身份验证和授权问题。文章通过创建用户、角色、权限表,设计DAO和服务层,并提供接口给Shiro,实现授权和认证。用户 Realm 继承AuthorizingRealm,处理用户凭证和角色权限信息,最后配置登录路径和权限验证。
摘要由CSDN通过智能技术生成

每天分享java干货,欢迎关注 ,你的成功源于点点滴滴!

前言

Shiro解决了什么问题?

互联网无非就是一些用户C想要使用一些服务S的资源去完成某件事,S的资源不能说给谁用就给谁用,因此产生了权限的概念,即C必须有权限才能操作S的资源。S如何确定C就是C呢?因此又产生了身份验证的概念。一个Authorization一个Authentication就是Shiro解决的最重要的两个问题,其他的功能都是给Shiro打辅助的,比如Session管理,加密处理,记住我等。

Shiro是什么?

把Shiro想象成一家安全公司

公司给服务端提供的服务是:服务端把自己维护的权限啊、用户啊、角色啊什么的信息通过接口提供给Shiro,shiro就可以帮服务端处理用户权限角色等的安全认证和授权等工作

公司给客户提供的服务是:客户可以是任何外来的东西,但是想要访问服务端提供的要求权限验证等资源,就必须先经过shiro这层把关,shiro会对客户进行安全认证和授权等工作

115c7a2a1c5613a436891a48195568e0.png

image.png

Shiro重要概念有哪些?

7e7e4f76ceffc4e90a25828936312acb.png

image.png

  • Subject:可以理解为与shiro打交道的对象,该对象封装了一些对方的信息,shiro可以通过subject拿到这些信息
  • SecurityManager:Shiro的总经理,通过指使Authorizer和Authenticator等对subject进行授权和身份验证等工作
  • Realm:管理着一些如用户、角色、权限等重要信息,Shiro中所需的这些重要信息都是从Realm这里获取的,Realm本质上就是一个重要信息的数据源
  • Authenticator:认证器,负责Subject的认证操作,认证过程就是根据Subject提供的信息通过Realm查询到相关信息,然后做对比,支持扩展
  • Authorizer:授权器,控制着Subject对服务资源的访问权限
  • SessionManager:用于管理Session,这个Session可以是web的也可以不是web的。
  • SessionDao:把Session的 CRUD和存储介质联系起来的工具,存储介质可以是数据库,也可以是缓存,比如把session放到redis里面
  • CacheManager:缓存控制器,Realm管理的数据(用户、角色、权限)可以放到缓存里由CacheMana
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值