【SpringBoot】Shiro

转载博客:
Shiro 狂神说(学习记录)

1.问题:首次登陆url中携带JSESSIONID

一个配置解决 Shiro 登录 URL 中带 JSESSIONID 的问题
shrio中去掉 login;JSESSIONID
地址栏JSESSIONID问题
页面跳转路径出现;JSESSIONID=XXX的问题【前端VUE+后端JAVA】
shrio中去掉 login;JSESSIONID
在这里插入图片描述
在这里插入图片描述

解决方法

参考:Springboot+Shiro 去除JSESSIONID

@Bean("sessionManager")
    public DefaultWebSessionManager defaultWebSessionManager(){
        DefaultWebSessionManager manager = new DefaultWebSessionManager();
        // 去掉shiro登录时url里的JSESSIONID
        manager.setSessionIdUrlRewritingEnabled(false);
        return manager;
    }
 @Bean
    public SecurityManager securityManager(UserReaalm userReaalm){
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        securityManager.setRealm(userReaalm);
        // 注入session的管理
        securityManager.setSessionManager(defaultWebSessionManager());
        securityManager.setRememberMeManager(null);
        return securityManager;
    }

2.shiro密码加密认证

参考博客:
SpringBoot集成Shiro实现密码加密,解密
RandomStringUtils

3.shiro实现记住我功能

参考博客:
springboot整合shiro-配置记住我(四)
使用SpringBoot+Shiro实现记住我功能
springboot集成shiro——登陆记住我
User实体类未序列化报错:

o.a.shiro.mgt.DefaultSecurityManager : Delegate RememberMeManager instance of type [org.apache.shiro.web.mgt.CookieRememberMeManager] threw an exception during onSuccessfulLogin. RememberMe services will not be performed for account [com.sfn.bms.system.model.User@86fc436].

org.apache.shiro.io.SerializationException: Unable to serialize object [com.sfn.bms.system.model.User@86fc436]. In order for the DefaultSerializer to serialize this object, the [org.apache.shiro.subject.SimplePrincipalCollection] class must implement java.io.Serializable.

实现序列化即可

public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    private int id;
    private String userName;
    private String passWord;
    private String perm;
    private Integer permID;
    private String salt;
    private String originPassWord;
}

shiro授权

参考博客:
springboot+shiro实现授权和认证
Springboot集成Shiro完成认证授权
Spring Boot使用Shiro实现登录授权认证
springboot+shiro+mybatis实现角色权限控制
spring boot + shiro 实现角色权限控制

SpringBoot Shiro是一个基于SpringBoot框架实现的权限控制框架。它提供了一种简单易用且高效的方式来实现用户认证和授权功能。通过使用Shiro的注解和配置,可以方便地对系统的资源进行权限管理。 使用SpringBoot Shiro的过程大致可以分为以下几个步骤: 1. 下载Shiro并创建项目,导入所需的依赖。 2. 在项目中配置Shiro的相关文件,包括log4j.properties和shiro.ini等。 3. 编写Shiro的相关代码,比如定义用户信息、角色和权限等。 4. 运行测试,验证Shiro的功能是否正常运行。 在SpringBoot Shiro中,有一个核心组件叫做SecurityManager,它负责与其他组件进行交互,并管理着所有的Subject。SecurityManager相当于SpringMVC中的DispatcherServlet角色。它是整个Shiro框架的核心,负责处理与安全相关的操作。 总之,SpringBoot Shiro是一个功能强大且易于使用的权限控制框架,可以帮助开发人员快速实现用户认证和授权功能。通过按照上述步骤进行配置和编码,可以轻松地集成ShiroSpringBoot项目中,实现灵活的权限管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot Shiro授权实现过程解析](https://download.csdn.net/download/weixin_38663608/12745281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot(36) —— Shiro快速开始](https://blog.csdn.net/Jzandth/article/details/108914211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值