shiro登录认证后不执行授权doGetAuthorizationInfo的解决

简介: shiro登录认证后不执行授权doGetAuthorizationInfo的解决


shiro登录认证后不执行授权doGetAuthorizationInfo的解决


shiro认证和授权

用户登录成功之后,完成shiro的doGetAuthenticationInfo认证,但是登录认证之后shiro并不会马上执行授权doGetAuthorizationInfo,而是待用户访问的目标资源或者方法需要权限的时候才会调用doGetAuthorizationInfo进行授权。


认证之后马上执行授权

因为项目需要,在shiro登录认证之后需要马上执行doGetAuthorizationInfo进行授权,后来在网上找了大量的方法均为实现或者实现效果不理想,通过在登录认证成功之后跳转首页controller下对应方法加@RequiresRoles(“admin”)或者@RequiresPermissions(“system”)会出现由于登录用户没有admin角色或者system权限时无法执行doGetAuthorizationInfo导致授权失败


解决方案

在页面增加如下代码

var flag = [[${@permission.hasPermi('system')}]];

image.png


 由于springboot项目页面采用Thymeleaf模板引擎,通过页面调用java判断是否有当前请求资源即首页的权限是否有,无需接收返回值即可触发doGetAuthorizationInfo验证当前资源权限是否有。故在页面引入此行代码即可解决shiro登录认证后即刻执行授权方法的问题。

image.png

image.png


相关文章
|
2月前
|
数据库
shiro认证和授权
shiro认证和授权
29 3
|
7月前
11 Shrio 授权流程
11 Shrio 授权流程
17 0
|
7月前
|
Java
08 Shrio 授权的三种方式
08 Shrio 授权的三种方式
25 1
|
8月前
|
Java Maven 数据安全/隐私保护
基于Session方式深入了解认证授权 1
基于Session方式深入了解认证授权
35 0
|
8月前
|
安全 前端开发 Java
基于Session方式深入了解认证授权 2
基于Session方式深入了解认证授权
28 0
|
安全 Java 数据库连接
【Shiro】1、Shiro实现登录授权认证功能(上)
之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧
264 0
|
Java 数据安全/隐私保护
【Shiro】1、Shiro实现登录授权认证功能(中)
之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧
111 0
|
Java 数据安全/隐私保护
【Shiro】1、Shiro实现登录授权认证功能(下)
之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧
100 0
|
Java Apache 数据安全/隐私保护
【Shiro】Shiro从小白到大神(三)-权限认证(授权)-2
【Shiro】Shiro从小白到大神(三)-权限认证(授权)-2
135 0
|
Java 数据安全/隐私保护
【Shiro】Shiro从小白到大神(三)-权限认证(授权)-1
【Shiro】Shiro从小白到大神(三)-权限认证(授权)-1
248 0