SpringBoot 集成Shiro--官网
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 集成Shiro--官网相关的知识,希望对你有一定的参考价值。
参考技术ASpring 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--官网的主要内容,如果未能解决你的问题,请参考以下文章
Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限