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认证与授权原理分析》



目录
相关文章
|
Java 关系型数据库 MySQL
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
shiro登录认证后不执行授权doGetAuthorizationInfo的解决
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3109 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
安全 存储
Shiro源码剖析——Subject的创建与获取(一次完整的请求执行流程-1
本文可能较长,但是通读一定能让你对整个shiro请求的执行流程有清晰的了解 总体流程: 1、在过滤的过程中创建subject doFilter -&gt; SecurityManager -&gt; SubjectContext -&gt; 创建subject -&gt; 解析各种信息并赋值 2、若该subject未认证则进行认证并在认证时再次创建subject 调用realm中的doAuthenticationInfo()获得返回的信息重新创建subject并保存到session
|
存储 安全 Java
shiro学习二:shiro的加密认证详解,加盐与不加盐两个版本。
这篇文章详细介绍了Apache Shiro安全框架中密码的加密认证机制,包括不加盐和加盐两种加密方式的实现和测试。
802 0
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
|
SQL Java 数据库连接
mybatisplus QueryWrapper or写法
# MyBatis-Plus QueryWrapper的OR写法详解 MyBatis-Plus是一款基于MyBatis的增强工具,提供了丰富的简化操作,使开发者能更高效地进行数据库操作。`QueryWrapper`是MyBatis-Plus中用于构建查询条件的一个核心类,支持多种条件组合,包括AND和OR条件。本文将详细介绍如何使用 `QueryWrapper`实现OR条件的查询。 ## QueryWrapper简介 `QueryWrapper`用于构建动态SQL查询条件,它封装了各种条件构造方法,使得查询条件的构建更加简洁和直观。`QueryWrapper`中提供了丰富的方法来支持多
1341 0
|
JavaScript 前端开发 开发者
Angular框架:企业级Web应用的强大后盾
Angular,谷歌支持的JavaScript框架,因其组件化架构、双向数据绑定、依赖注入和路由系统,成为企业级Web开发首选。组件化促进代码重用,如`AppComponent`示例。双向数据绑定简化DOM操作,减少手动工作。依赖注入通过示例展示易管理依赖,提升测试性。路由则支持SPA开发,平滑页面过渡。Angular的特性增强了开发效率和应用质量,使其在Web开发领域保持领先地位。【6月更文挑战第25天】
247 2