shiro触发doGetAuthorizationInfo方法的几种方式

简介: shiro触发doGetAuthorizationInfo方法的几种方式

什么情况下会触发shiro的授权检测呢?通常有以下三种方式:


方式一:代码中通过Subject对象主动调用权限校验

subject.hasRole(“admin”);

//或

subject.isPermitted(“admin”);

1

2

3

这种方式属于在代码中需要校验权限的时候主动调用,判断返回结果来确定是否通过。


方式二:通过注解的形式检查对用的方法请求

@RequiresRoles("admin")

1

这种方式通常用在Controller的方法上。


方式三:页面shiro标签

针对ftl等页面,可直接在页面中使用标签来来标注对应的请求。进入该页面时扫描到对应的标签进行权限校验。


<shiro:hasPermission name="item:update">

1

如果是jsp页面,在使用Shiro标签库前,首先需要在JSP引入shiro标签:


<%@ taglib prefix="shiro" uri="/WEB-INF/tlds/shiros.tld" %>

1

当加上shiro标签后,会与后台代码结合使用:需要继承AuthorizingRealm,

通过protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) 方法进行业务的处理。


相关文章

《还在亲手写Filter进行权限校验?尝试一下Shiro吧》


《不解释,全网最全Shiro认证与授权原理分析》



目录
相关文章
|
存储 设计模式 算法
DDD之于业务支撑的意义
DDD之于业务支撑的意义
315 0
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
|
12月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
2543 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
12月前
|
存储 安全 Java
shiro学习二:shiro的加密认证详解,加盐与不加盐两个版本。
这篇文章详细介绍了Apache Shiro安全框架中密码的加密认证机制,包括不加盐和加盐两种加密方式的实现和测试。
675 0
|
安全 存储
Shiro源码剖析——Subject的创建与获取(一次完整的请求执行流程-1
本文可能较长,但是通读一定能让你对整个shiro请求的执行流程有清晰的了解 总体流程: 1、在过滤的过程中创建subject doFilter -&gt; SecurityManager -&gt; SubjectContext -&gt; 创建subject -&gt; 解析各种信息并赋值 2、若该subject未认证则进行认证并在认证时再次创建subject 调用realm中的doAuthenticationInfo()获得返回的信息重新创建subject并保存到session
|
数据库 数据安全/隐私保护
Shiro【自定义Realm 、多Realm认证 、多Realm认证策略、异常处理】(二)-全面详解(学习总结---从入门到深化)
Shiro【自定义Realm 、多Realm认证 、多Realm认证策略、异常处理】(二)-全面详解(学习总结---从入门到深化)
767 0
|
12月前
|
搜索推荐 机器人 数据处理
基于大语言模型的 FireRedTTS 语音合成系统
【10月更文挑战第3天】近年来,随着人工智能技术的发展,基于大语言模型的语音合成系统备受关注。FireRedTTS 系统由郭浩瀚等人提出,旨在满足多样化的语音合成需求。该系统分为数据处理、基础系统和下游应用三部分,通过高质量数据集和语义感知架构生成高保真语音信号。其应用场景包括配音和聊天机器人,能够实现零样本语音克隆和可控类人语音合成,提供自然且个性化的交互体验。然而,系统仍面临计算资源和完全自然语音合成等方面的挑战。[了解更多](https://arxiv.org/abs/2409.03283)
984 3
|
11月前
|
SQL Java 数据库连接
mybatisplus QueryWrapper or写法
# MyBatis-Plus QueryWrapper的OR写法详解 MyBatis-Plus是一款基于MyBatis的增强工具,提供了丰富的简化操作,使开发者能更高效地进行数据库操作。`QueryWrapper`是MyBatis-Plus中用于构建查询条件的一个核心类,支持多种条件组合,包括AND和OR条件。本文将详细介绍如何使用 `QueryWrapper`实现OR条件的查询。 ## QueryWrapper简介 `QueryWrapper`用于构建动态SQL查询条件,它封装了各种条件构造方法,使得查询条件的构建更加简洁和直观。`QueryWrapper`中提供了丰富的方法来支持多
1044 0