81,094
社区成员
发帖
与我相关
我的任务
分享
2013-01-17 14:05:59,737 INFO [org.jasig.cas.web.flow.InitialFlowSetupAction] - <Setting path for cookies to: /cas/>
2013-01-17 14:06:09,380 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler failed to authenticate [username: admin]>
2013-01-17 14:06:09,387 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: [username: admin]
WHAT: supplied credentials: [username: admin]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Thu Jan 17 14:06:09 CST 2013
CLIENT IP ADDRESS: 0:0:0:0:0:0:0:1
SERVER IP ADDRESS: 0.0.0.0
=============================================================
>
2013-01-17 14:06:09,388 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: [username: admin]
WHAT: error.authentication.credentials.bad
ACTION: TICKET_GRANTING_TICKET_NOT_CREATED
APPLICATION: CAS
WHEN: Thu Jan 17 14:06:09 CST 2013
CLIENT IP ADDRESS: 0:0:0:0:0:0:0:1
SERVER IP ADDRESS: 0.0.0.0
=============================================================
>
<!--配置验证类1-->
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource" ></property>
<property name="sql" value="select pw from sys_acct_auth where user_code =?" ></property>
<property name="passwordEncoder" ref="RS10Md5PasswordEncoder" ></property>
</bean>
<!--数据验证模式1 它自己的MD5加密接口-->
<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0" value="MD5" />
</bean>
<!--数据验证模式2 我自己实现的MD5接口-->
<bean id="RS10Md5PasswordEncoder" class="org.jasig.cas.authentication.handler.Crypt">
</bean>
将cas-server的jar包随便导到一个工程里,然后再工程里新建一个自己的类,实现encode方法,并返回加密后的字符串。
/**
* Project Name:JhostAddTime
* File Name:Crypt.java
* Package Name:org.jasig.cas.authentication.handler
* Date:2013-4-25下午02:50:55
* Copyright (c) 2013, riambsoft All Rights Reserved.
*
*/
package org.jasig.cas.authentication.handler;
/**
* ClassName:Crypt <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date: 2013-4-25 下午02:50:55 <br/>
* @author Administrator
* @version
* @since JDK 1.5
* @see
*/
public class Crypt implements PasswordEncoder{
/**
* 进行加密编码
* @param s 要加密的字符串
* @return 加密后的字符串
*/
public String encode(String s)
{
MD5 md5=new MD5();
String ecd=md5.getMD5ofStr(s) ;
System.out.println("-------- need =["+ecd+"]") ;
return ecd;
}
}
ok 这样就搞定了。搞不了的看我的帖子吧。http://blog.csdn.net/ae6623/article/details/8848107<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0">
<value>MD5</value>
</constructor-arg>
</bean>
<!-- 自己添加的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>
<!-- 生成md5 密码 与数据库的md5 密码匹配 -->
<!--<property name="passwordEncoder" ref="MD5PasswordEncoder"></property>-->
</bean>
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource" />
<property name="sql" value="select password from user_demo where lower(userName) = lower(?)" />
<property name="passwordEncoder" ref="passwordEncoder" />
</bean>
这个是xml里面的配置文件,就是根据username取出密文的。