SpringBoot 集成Shiro--官网

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 集成Shiro--官网相关的知识,希望对你有一定的参考价值。

参考技术A

Spring Web 项目中,Shiro是通过过滤器来控制Web请求的

首先将Shiro的 web-starter 依赖添加到应用程序的类路径中,推荐采用 Maven 和 Gradle

maven

gradle

然后提供一个 Realm 的实现

最后添加一个 ShiroFilterChainDefinition 到容器中,它指定了 URL 路径及其对应的过滤器链

完整示例参考 github

如果包含了前面的 shiro-spring-boot-web-starter ,则就会自动开启Shiro的注解支持

Shiro的注解可以在 @Controller 类中使用,如下

为了确保应用程序工作,至少需要一个 ShiroFilterChainDefinition ,并且其中至少包含了一个URL的过滤器链,要么配置所有的路径均可以匿名访问,要么就配置一个过滤器来过滤请求

只需提供一个 CacheManager 的 bean 即可开启缓存

同Web应用一样,需要先添加 shiro-spring-boot-starter 依赖,配置也一样

然后配置一个 realm

最后为了使得 SecurityUtils.* 方法生效,只需要使得 SecurityManager 的bean设置到 SecurityUtils 即可

接下来就可以像下面这样获取 Subject 了

完整示例参考 github

SpringBoot集成Shiro

SpringBoot集成Shiro的时候,出现异常:Public Key Retrieval is not allowed

解决方案是:

delegatingFilterProxy.setTargetBeanName("shiroFilter");
设置目标Bean的名称

成功执行之后,最后再去掉这行也可以正常执行了,莫名其妙的问题


如果还不行的话,那就进行排除法,最后一次成功执行之后添加的内容进行注释,并进行排除判断问题的根源

以上是关于SpringBoot 集成Shiro--官网的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot11:集成Shiro

SpringBoot11:集成Shiro

Shiro集成web环境[Springboot]-基础使用

Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限

Springboot学习Shiro快速入门及与SpringBoot集成

SpringBoot集成Shiro