配置案例1
在cas配置文件中修改deployerConfigContext.xml文件:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSourceForMySql" ></property>
<property name="sql" value="select password from eauser as u where u.ACCOUNT = ? and u.enabled = 1" ></property>
<property name="passwordEncoder" ref="EDS2PasswordEncoder" ></property>
</bean>
<!--数据验证模式 自定义的加密类,返回值:加密后的字符串-->
<bean id="EDS2PasswordEncoder"
class="org.jasig.cas.authentication.handler.SunPasswordEncoder">
</bean>
JAVA代码类注意点:
**尤其注意注意SunPasswordEncoder必须实现PasswordEncoder接口,并且重新encode方法,而且引入cas-server-core-xxx.jar当前类不能报错 否者打包之后的jar包无法使用
//必须实现org.jasig.cas.authentication.handler.PasswordEncoder接口 需导入的包是cas-server-core-xxx.jar
public class SunPasswordEncoder implements PasswordEncoder{
@Override
public String encode(String password) {
String end = Tools.encryptBasedDes(password); //调用自定义加密类
return end;
}
}
我的实际项目改动的地方
<!-- 设置密码的加密方式,这里使用的是MD5加密 -->
<!--
<bean id="passwordEncoder"
class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
c:encodingAlgorithm="MD5"
p:characterEncoding="UTF-8" />
-->
<bean id="passwordEncoder" class="com.java.enDecrypt.EnDecryptPasswordEncoder"/>//自己定义的算法打的jar包
<!-- 通过数据库验证身份,这个得自己去实现 -->
<bean id="primaryAuthenticationHandler"
class="com.distinct.cas.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:passwordEncoder-ref="passwordEncoder"
p:sql="select password from t_user where userName=?" />
最后把打好的jar包放入位置测试即可
数据库加密密码
OK
博主原创,转载请注明出处: https://blog.csdn.net/qq_36698956
版权声明:博客对我来说是记忆的笔记和知识的分享~此博文为博主原创转载请注明出处即可~