67,512
社区成员
发帖
与我相关
我的任务
分享
<!-- 源文件是判断账户和密码相同就通过 故注释掉
<bean
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
-->
<!-- 自己添加的bean -->
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource"></property>
<property name="sql" value="select `password` from t_test where `username` = ? "></property>
<property name="passwordEncoder" ref="MD5PasswordEncoder"></property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<!-- jdbc url 原demo是jdbc:mysql:\\\test 我不管改这样还是下面的都没登录成功 -->
<property name="url"><value>jdbc:mysql://127.0.0.1:3306/test</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>boyuboyu</value></property>
</bean>
<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0">
<value>MD5</value>
</constructor-arg>
</bean>
final String username = getPrincipalNameTransformer().transform(credentials.getUsername());//拿到用户名123123
final String password = credentials.getPassword();//拿到用户名123123
final String encryptedPassword = this.getPasswordEncoder().encode(
password);//将密码进行加密,结果形如:e834jf84jf84j8g......
try {
final String dbPassword = getJdbcTemplate().queryForObject(this.sql, String.class, username);//根据你的SQL取得数据库中的密码为:123123
return dbPassword.equals(encryptedPassword);//用加密后的字符串和123123进行比较???,肯定不会正确
} catch (final IncorrectResultSizeDataAccessException e) {
// this means the username was not found.
return false;
}
<property name="passwordEncoder" ref="MD5PasswordEncoder"></property>
<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0">
<value>MD5</value>
</constructor-arg>
</bean>
=============================================================
WHO: [username: 123123]
WHAT: supplied credentials: [username: 123123]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Fri Oct 12 13:03:55 CST 2012
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================
>
2012-10-12 13:03:55,934 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: [username: 123123]
WHAT: error.authentication.credentials.bad
ACTION: TICKET_GRANTING_TICKET_NOT_CREATED
APPLICATION: CAS
WHEN: Fri Oct 12 13:03:55 CST 2012
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================