spring boot 中 shiro 的配置以及配合thymeleaf的简单快速使用

本文介绍了如何在Spring Boot项目中配置Shiro,并结合Thymeleaf实现权限控制。首先,文章详细讲解了Spring Boot集成Shiro的步骤,包括导入依赖、自定义Realm和配置ShiroConfig。接着,介绍了配置Thymeleaf的过程,包括导入相关依赖和在HTML页面中的应用。最后,文章阐述了如何整合Thymeleaf与Shiro,提供了在ShiroConfig中的配置示例以及HTML页面的引入方法,并列举了一些常见的Shiro权限控制标签。
摘要由CSDN通过智能技术生成

一、spring boot 配置 shiro

1.导入依赖

导入 shiro 的依赖

		<!-- Shiro -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.7.1</version>
        </dependency>

2. 自定义 Realm

自定义 UserRealm 类

public class UserRealm extends AuthorizingRealm {
   

	// 这是为了查询数据库导入的
    @Autowired
    private UserMapper userMapper;

    // 授权
    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
   
        System.out.println("执行了 -》 授权 doGetAuthorizationInfo");

        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        // 添加授权
//        info.addStringPermission("user:add"); // 手动添加

        // 获取当前用户
        User currentUser = (User) principalCollection.getPrimaryPrincipal();
        // 添加从数据库中获取的权限
        info.addStringPermission(currentUser.getPerms());
        
        return info;
    }

    // 认证
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
   
        System.out.println("执行了 -》 认证 doGetAuthenticationInfo");
        // 类型转换
        UsernamePasswordToken userToken = (UsernamePasswordToken) authenticationToken;

        Map<String, Object> map = new HashMap<>();
        map.put("username", userToken.getUsername());

        // 连接数据库查询用户
        // 用户名是不重复的,所以查出的用户只有一个
        List<User><
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值