Spring Security异常之You must provide a configuration attr

案情描述: 在使用Spring Security框架进行开发的时候,跑出了 “You must provide a configuration attribute”这样的异常,异常详细信息如下:

org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'favSecurityMetadataSource' defined in class path resource [security/spring-security.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.favccxx.favsecurity.security.FavInvocationSecurityMetadataSourceService]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: You must provide a configuration attribute

案情分析:从上面的异常信息中可以得到“You must provide a configuration attribute”异常发生在自定义实现“FilterInvocationSecurityMetadataSource”的类中。为什么会发生这样的异常呢?通过接口层层深入,我们可以发现原来异常是在 SecurityMetadataSource 接口抛上来的,SecurityMetadataSource 接口的构造函数中需要一个配置参数。

 Spring Security异常之You must provide a configuratio


在我们自实现FilterInvocationSecurityMetadataSource接口的类中,我们通常也会写类似“loadResourceMatchAuthority”这样加载资源匹配权限的方法,当发生上面的异常时,应该检查如下图所示的代码区域,设置断点,查找发生问题的主要代码。

 Spring Security异常之You must provide a configuratio

Spring Security 学习之数据库认证 

Spring Security 学习之LDAP认证 

Spring Security 学习之OpenID认证 

Spring Security 学习之X.509认证 

Spring Security 学习之HTTP基本认证和HTTP摘要认证 

Spring Security 学习之HTTP表单验证 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4aebe914cd00f1b08447835ac6e69010.html