Spring 配置Jasig CAS以使用BCrypt
我想将Jasig CAS配置为使用BCrypt作为密码编码器 四处搜索,我发现这完全可以由Spring框架来处理,但我不熟悉它 据我所知,我只需要将SpringSecurityCore和SpringSecurityCrypto库添加到war文件中,并更改deployerConfigContext.xml中的PasswordEncoderBean 但我得到的结果是: tomcat日志文件的尾部:Spring 配置Jasig CAS以使用BCrypt,spring,maven,cas,bcrypt,jasig,Spring,Maven,Cas,Bcrypt,Jasig,我想将Jasig CAS配置为使用BCrypt作为密码编码器 四处搜索,我发现这完全可以由Spring框架来处理,但我不熟悉它 据我所知,我只需要将SpringSecurityCore和SpringSecurityCrypto库添加到war文件中,并更改deployerConfigContext.xml中的PasswordEncoderBean 但我得到的结果是: tomcat日志文件的尾部: Caused by: org.springframework.beans.factory.Cannot
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.security.crypto.password] for bean with name 'passwordEncoder' defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.security.crypto.password
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1328)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:453)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
... 66 more
Caused by: java.lang.ClassNotFoundException: org.springframework.security.crypto.password
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:249)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)
... 72 more
Sep 23, 2015 2:06:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
deployerConfigContext.xml的一部分:
<bean id="primaryAuthenticationHandler"
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:passwordEncoder-ref="passwordEncoder"
p:sql="select password from users where username=? and active=1" />
<bean id="passwordEncoder" class="org.springframework.security.crypto.password"/>
如果我错了,请纠正我,但我想我已经在deployerConfigContext.xml中配置了bean。你能告诉我出了什么问题吗?你这里有个打字错误:
<bean id="passwordEncoder" class="org.springframework.security.crypto.password"/>
这不是一个类元素;这是一个包裹。编码器可能是这样的:
<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
见:
<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>