springboot整合shiro出现的问题

代码:
import com.ldh.hellospringboot.shiro.MyShiroRealm;
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;

@Configuration
public class ShiroConfig {
@Bean(name ="shirFilter")
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
System.out.println("ShiroConfiguration.shirFilter()");
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);

    Map<String,String> filterChainDefinitionMap = new LinkedHashMap<String,String>();

    filterChainDefinitionMap.put("/static/**", "anon");

    filterChainDefinitionMap.put("/logout", "logout");
    filterChainDefinitionMap.put("/**", "authc");

    shiroFilterFactoryBean.setLoginUrl("/index.html");

    shiroFilterFactoryBean.setSuccessUrl("/welcome.html");


    shiroFilterFactoryBean.setUnauthorizedUrl("/error.html");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}


@Bean(name ="myShiroRealm")
public MyShiroRealm myShiroRealm(){
    MyShiroRealm myShiroRealm = new MyShiroRealm();
    myShiroRealm.setCredentialsMatcher(hashedCredentialsMatcher());
    return myShiroRealm;
}


@Bean(name ="securityManager")
public SecurityManager securityManager(){
    DefaultWebSecurityManager securityManager =  new DefaultWebSecurityManager();
    securityManager.setRealm(myShiroRealm());
    return securityManager;
}


@Bean(name="simpleMappingExceptionResolver")
public SimpleMappingExceptionResolver
createSimpleMappingExceptionResolver() {
    SimpleMappingExceptionResolver r = new SimpleMappingExceptionResolver();
    Properties mappings = new Properties();
    mappings.setProperty("DatabaseException", "databaseError");//数据库异常处理
    mappings.setProperty("UnauthorizedException","403");
    r.setExceptionMappings(mappings);  // None by default
    r.setDefaultErrorView("error");    // No default
    r.setExceptionAttribute("ex");     // Default is "exception"
    //r.setWarnLogCategory("example.MvcLogger");     // No default
    return r;
}

}

报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shirFilter' defined in class path resource [com/ldh/hellospringboot/config/ShiroConfig.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'authorizationAttributeSourceAdvisor' defined in class path resource [com/ldh/hellospringboot/config/ShiroConfig.class]: Unsatisfied dependency expressed through method 'authorizationAttributeSourceAdvisor' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityManager' defined in class path resource [com/ldh/hellospringboot/config/ShiroConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.shiro.mgt.SecurityManager]: Factory method 'securityManager' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myShiroRealm': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.shiro.subject.PrincipalCollection' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

1个回答

今天整合时也出现这个错误,最后发现是我的实体类有一个没有添加@Entity导致报了很多错误,也包括这个错误,添加之后就完全不报错了,上面是否还有其他错误?
这个应该填写的时url而不是返回的页面路径吧
shiroFilterFactoryBean.setLoginUrl("/index.html");

shiroFilterFactoryBean.setSuccessUrl("/welcome.html");


shiroFilterFactoryBean.setUnauthorizedUrl("/error.html");
caiji456
caiji456 按你说的加了Entity注解,还是不行哈。还有你说的路径问题是可以那样写的,因为我这里有个能跑起来的项目就那样写的。但是自己的就是报上面的错
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Springboot整合shiro 路径问题
// @RequestMapping(value = "/index") @RequestMapping({"/","/index"}) public String index(Model model) { User user =(User)SecurityUtils.getSubject().getPrincipal(); model.add
springboot整合shiro
使用springboot整合shiro制作的登录例子。密码做了加密处理
springBoot整合shiro,mybatis
springBoot整合shiro,mybatis源码。。。。。。。。。
springBoot整合Shiro
springBoot整合Shiro
SpringBoot与Shiro整合
SpringBoot与Shiro整合-权限管理实战视频,仅视频讲解
springboot整合shiro(一)
配置文件 shiroConfig.java @Configuration public class ShiroConfig { /** * 注册ShiroFilterFactoryBean * * @Title: shiroFilter * @description * @param securityManager * @return * ShiroFilte...
springboot整合shiro框架
<span style="color:#333333;">Apache Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro都可以轻松为其提供全面的安全管理服务,相比业内spring security 而言,Shiro显得更加小巧,应用也更加广泛。本课程主要使用到java,shiro,spring,springmvc,mybatis,mysql,springboot技术,学习本课程需要具有一定的基础。</span><br />
SpringBoot整合Shiro权限框架
Shiro是一个非常不错的权限框架,它提供了登录和权限验证功能,如果想去了解它的话可以去Shiro官网学习  点击打开 1.创建数据库脚本 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for module -- ---------------...
Springboot整合(9)——Shiro
Springboot整合(9)——Shiro Shiro基本配置 1. pom增加依赖         &amp;lt;!-- shiro spring. --&amp;gt;         &amp;lt;dependency&amp;gt;             &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt;             &amp;lt;arti...
SpringBoot整合Shiro
SpringBoot整合Shiro实现RestFul风格API接口、前后端分离、JWT签发Token、Redis管理Token刷新、日志工厂、AES对称算法
Springboot整合shiro错误记录
搞了一天,遇到大大小小的问题,参考了无数前辈的资料,最后貌似走通了。教程就不放了,放两个我遇到的问题package com.xxx.config; import java.util.LinkedHashMap; import java.util.Map; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.s...
shiro整合springboot前后端分离
1、shiro配置package com.hisi.config; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.Filter; import org.apache.shiro.session.mgt.eis.MemorySessionDAO; import org.apache.shir...
Springboot 整合shiro
Springboot整合shrio实现权限控制;并且把thymeleaf和shiro标签进行整合,实现按钮级别权限控制
springboot 与shiro安全框架的整合
Springboot+shiro springboot 与shiro安全框架的整合,适合初学者。
springboot整合shiro视频教程
springboot整合shiro视频教程,实现登陆认证,权限认证
SpringBoot整合Shiro及简单实现
SpringBoot整合Shiro及简单实现创建SpringBoot项目添加依赖配置Shiro(重点)配置登录逻辑配置授权 创建SpringBoot项目 创建略 添加依赖 1.添加thymeleaf &lt;!-- thymeleaf相关依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/grou...
springboot整合shiro遇到的一些问题
  自己在整合springboot的时候遇到了一些问题,记录下来,方便自己和大家以后查阅。 问题是这样的,springboot项目启动没有报错,但是自己的shiroFilter一直没有注册到web运行环境中,将改FilterRegistrationBean另外写一个类,发现启动报错,大概意思就是shiroFilter的需要是Filter类型的,而实际的是FilterRegistrationBea...
springboot与shiro,mybatis的整合项目
此资源是springboot与shiro,mybatis的整合项目,里面有数据库文件,希望能帮助到大家
SpringBoot与Shiro整合-权限管理实战
一、搭建SpringBoot开发环境 1. 安装好开发软件和Maven等 开发工具:Spring Tool Suite(TST) Maven :3.3.9。 jdk:1.8 2. 创建springboot项目(此功能需要联网) 3. pom.xml文件配置 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;projec...
springboot整合shiro和自定义过滤器
filter自定义过滤器  增加了 对验证码的校验 package com.youxiong.filter; import com.youxiong.shiro.UsernamePasswordKaptchaToken; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.subject.Su
springboot整合shiro实现权限控制
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。上个月写了一个在线教育的项目用到了shiro权限控制,这几天又复盘了一下,对其进行了深入探究,来总结一下。 下面所总结的有关shiro的代码已经传到我的github上,可以访问下面的...
springboot整合shiro使用心得
是是是
springboot整合shiro简单案例
数据库的脚本我就不贴上去了,如果你们想要的话可以加我QQ_2548152658 第一步引入pom依赖 pom.xml: &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;...
springboot整合shiro,redis缓存session
为实现Web应用的分布式集群部署,要解决登录session的统一。本文利用shiro做权限控制,redis做session存储,结合spring boot快速配置实现session共享。
SpringBoot 整合shiro的简单应用
写在前面,本次 SpringBoot 整合shiro 用的是 shiro-spring 更优雅的方式应该是 shiro-spring-boot-starter ,这个整合详见官网教程:https://shiro.apache.org/spring-boot.html 好了,下面是本次整合的教程。 一.创建一个SpringBoot的Maven项目,你可以来这里:https://start.spr...
springboot整合shiro实现登录验证
springboot整合shiro实现登录验证 今天第一次接触springboot,本来是要学习springboot和shiro整合的,但是由于springboot结构还不太了解,所以先来了解一下springboot。 springboot可以快速创建一个机遇spring的项目,而且让这个项目跑起来只需要很少的配置就可以了,主要有以下核心功能: 1.独立运行的spring项目:springboo...
SpringBoot整合Shiro权限管理框架
项目目录结构 1.pom.xml &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:sch...
springboot整合shiro的相关配置
大家都知道springboot官方宣称零配置,原来用到的配置文件则以配置类的形式存在,以下是springboot整合shiro的相关配置: 自定义realm: package com.zking.shiro; import com.zking.entity.User; import com.zking.service.UserService; import org.apache.shiro...
springboot整合shiro无法加载静态资源
如果静态资源单独存放了一个目录,需要对其文件夹再授权匿名访问。 完整原文:http://blog.maptoface.com/post/128
springBoot框架下整合shiro
目录 一,前期准备 1,SpringBoot框架搭建 2.引入Thymeleaf页面模板   二、SpringBoot与Shiro整合 1.引入jar 2.定义Realm类 3.定义Shiro配置类 4.实现登录认证 4.1登录controller 4.2实现UserRealm内的doGetAuthenticationInfo(登录认证)方法 4.3ShiroConfig...
SpringBoot自学(五)整合shiro
一、pom.xml 关于shiro使用全部依赖,因为我使用thymeleaf模块,所以才有thymeleaf+shiro的依赖,如果是其它前端模板,需要导入其它依赖 &lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;project.re...
SpringBoot:集成Shiro之拦截器配置
前言 前面的几篇博客都是说的用户如何认证,如何授权,那么用户认证授权之后,我们该如何使用这些信息呢?这里我们就需要使用到Shiro框架中的拦截器功能.通过拦截器功能实现用户权限和角色的应用,下面我们就来看一下我们如何使用拦截器实现用户权限认证的应用. 拦截器分类说明 在配置拦截器之前,我们需要先了解Shiro本身给我们提供的拦截器都有...
SpringBoot入门,整合shiro权限管理
引言 本文继续沿用上几篇博客的基础,在此之上整合Shiro,实现权限管理,具体环境搭建,请参考我之前的博客,在这里不做赘述。 (1)SpringBoot入门,快速搭建简单Web应用环境 (2)SpringBoot入门,整合Mybatis并使用Mybatis-Generator自动生成所需代码 (3)Spring Boot入门,整合Pagehelper分页插件 (4)SpringBoot入...
springboot整合shiro的配置类
@Configuration public class ShiroConfig { public ShiroConfig(){ System.out.println("ShiroConfig init ......"); } /** * shiro过滤器配置 */ @Bean public ShiroFilterFact...
springboot整合shiro -快速入门(二)
原文地址,转载请注明出处:&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;http://blog.csdn.net/qq_34021712/article/details/79746413&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;am
springboot整合shiro,权限管理示例
springboot整合shiro,页面基于bui。
SpringBoot学习-(十七)SpringBoot整合Shiro
基本步骤: 添加pom文件依赖 书写自定义的realm 配置shiro 控制层使用 项目目录结构: 1.添加pom文件依赖 &amp;lt;!-- spring整合shiro --&amp;gt; &amp;lt;!-- maven会自动添加shiro-core,shiro-web依赖 --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apach...
Springboot整合shiro时出现的静态资源无法访问的问题
使用Springboot整合shiro之后,我的静态资源竟然不见了,讲真,第一次整合shiro,完全不知道是什么原理怎么办,百度原来是shiro把它给拦截了,找了很多文章,整了一堆话,都不是我想要的,后来看到一篇文章,一语中的http://412887952-qq-com.iteye.com/blog/2392741直接将代码中的@Bean注释掉,完事(细节只能后面细究)...
springboot shiro整合多次登录问题
参考网上整合springboot+shiro示例做了一个demo发现点击登录事件2次才能进入首页,跟踪发现调用shiro.logout方法跳到登录页面后,点击第一次登录直接进去了拦截顺丰一定写成,要授权的地址写在前面。如果写反了,可能遗忘了有些地址也是不需要授权的...
Shiro权限控制+整合shiro
Shiro权限控制 0.1传统的权限认证方式 特点:为每个人单独的分配权限模块,能够实现权限控制,但是当公司人员庞大之后,非常难管理 上述权限控制如何设计表? 关系:员工和菜单权限的关系:多对多 员工id 菜单名称 1 取派管理 2 快递员管理 2 运单管理 好处:可以方便的 实现权限控制 缺陷:比如当修改权限的时候,公司统一的给组长级别的人 加一个“计算工资”权限,...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件