springboot整合shiro (四) shiro实现权限授权

简介: springboot整合shiro (四) shiro实现权限授权

1. ShiroConfig中添加授权过滤器

filterMap.put("/add", "perms[user:add]");
filterMap.put("/update", "perms[user:update]");
// 设置未授权页面
filterFactoryBean.setUnauthorizedUrl("/unAuth");

这个时候我们登录点击add或者update 就会跳转到未授权页面

2. 给用户授权

我们只需要一个 SimpleAhtuorizationInfo 并给他设置授权权限并返回即可

这样add页面就可以访问, update依旧没有权限

3. 关联数据库

数据库中写一个简单的权限

然后我们直接去获取用户的权限信息就可以实现权限拦截

数据库中有两个账号, admin这个账号只可以访问 add, 而 root 只可以访问 update

4. shiro和thymeleaf整合使用

1. 引入thymeleaf对shiro拓展的依赖

<!-- https://mvnrepository.com/artifact/com.github.theborakompanioni/thymeleaf-extras-shiro -->
<dependency>
    <groupId>com.github.theborakompanioni</groupId>
    <artifactId>thymeleaf-extras-shiro</artifactId>
    <version>2.0.0</version>
</dependency>

2. 在ShiroConfig中配置 ShiroDialect 用于 shiro和thymeleaf配合使用

/**
     * 配置 shiroDialect 用于thymeleaf和
     * @return
     */
    @Bean
    public ShiroDialect getShiroDialect() {
        return new ShiroDialect();
    }

3. 在thymeleaf中使用shiro标签

首页分别用div套上加上shiro:hasPermission 即可实现,当我们用admin登录只有添加显示, root则只有update, 否则啥也没有

相关文章
|
3月前
|
缓存 安全 Java
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
|
3月前
|
开发框架 安全 Java
【Java专题_01】springboot+Shiro+Jwt整合方案
【Java专题_01】springboot+Shiro+Jwt整合方案
|
3月前
|
Java 关系型数据库 MySQL
Shiro实战+springboot集成
Shiro实战+springboot集成
20 0
|
3月前
|
前端开发 Java 关系型数据库
【Shiro】Springboot集成Shiro
【Shiro】Springboot集成Shiro
57 1
|
4月前
|
Java
springboot如何配置使用shiro
【1月更文挑战第11天】springboot如何配置使用shiro
19 2
|
4月前
|
存储 Java 数据库
SpringBoot+JWT+Shiro
SpringBoot+JWT+Shiro
30 0
|
4月前
|
存储 JSON 安全
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
95 0
|
4月前
|
前端开发 Java Spring
使用Spring Boot集成Shiro时出现了无法注入Service的问题
使用Spring Boot集成Shiro时出现了无法注入Service的问题
|
5月前
|
JSON 安全 Java
Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token5
Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token5
|
5月前
|
NoSQL Java Redis
Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token4
Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token4