1. 修改client 端web应用的web.xml,如下:
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<!-- CAS服务端地址-->
<param-value>http://192.168.104.123:8080/cas/login</param-value>
</init-param>
<init-param>
<param-name>service</param-name>
<!-- 本地地址-->
<param-value>http://192.168.104.101:8080/*</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
<!-- 这个如果为true 每次登录子系统都要验证,就不能实现登陆一次,可以访问其他子系统的需求 -->
</init-param>
<init-param>
<param-name>webRootKey</param-name>
<param-value>test</param-value>
</init-param>
</filter>
其中webRootKey参数为client添加的初始化参数,想传到server端
2. 修改org.jasig.cas.client.authentication.AuthenticationFilter.java如下:
添加属性webRootKey
/**
* the web app root key
*/
private String webRootKey;
,
提供set方法
public final void setWebRootKey(final String webRootKey){
this.webRootKey = webRootKey;
}
修改initInternal方法,添加
setWebRootKey(getPropertyFromInitParams(filterConfig, "webRootKey", null));
log.trace("Loaded WebRootKey parameter: " + this.webRootKey);
修改init方法,添加
CommonUtils.assertNotNull(this.webRootKey, "webRootKey cannot be null.");
3 自定义Credentials类继承UsernamePasswordCredentials,内容如下:
private static final long serialVersionUID = 179318697348051866L;
/** the web root key */
private String webRootKey;
public String getWebRootKey() {
return webRootKey;
}
public void setWebRootKey(String webRootKey) {
this.webRootKey = webRootKey;
}
4 修改自定义验证类(继承 AbstractJdbcUsernamePasswordAuthenticationHandler)的authenticateUsernamePasswordInternal方法如下:
FinalUserCredentials finalUserCredentials = (FinalUserCredentials) credentials;
String username = finalUserCredentials.getUsername();
String password = finalUserCredentials.getPassword();
/** get web root key */
String webRootKey = finalUserCredentials.getWebRootKey();
既可以获得webRootKey扩展参数。
分享到:
相关推荐
cas-client-3.2.1-release.zip
用Cas是实现单点登录,分别为服务器端的3.4.2的源代码,和客户端3.1.6的源代码
CAS-Server-Client单点登录demo,将cas-server和cas-client进行整合,并且提供tomcat自带的examples实例进行测试,可用。
cas-client-3.2.1和cas-server-3.5.2
cas4.1.4server服务端+client端 解包直接使用 0配置---------------------
casclient.jar,cas 配置中client配置必须的jar包
cas服务器的原理以及介绍,CAS服务端总共对外暴露了7个接口,客户端通过访问这7个接口与服务端交互,
简单而且完全可用的cas clinet的web工程,部署以后就可以使用
cas4.0.7+casClient示例(原生),完整前后端代码,包括数据库的整合
java cas server 集成 java cas client 和 net client 附带文档,问题解决方法,源码,jar包,包含技术有java cas,cfx,LDAP,net cas。核心在于集成了net client,,上传太小,不能传源码,有需要的加群。有兴趣的...
CAS Server 4.0 , Client 3.3 ,共3个TOMCAT,已经配置完毕,下载后, 1 修改tomcat-caswebappscasWEB-INF/deployerConfigContext.xml 中的35、48行,数据的配置; 2 在表t_user 中加一行数据 口令:e10adc3949ba59...
CAS 代码和所依赖的jar
cas-server-3.4.11和cas-client-3.2.1
对应我本人上传的cas server开发的版本。 <!-- CAS logout--> <bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter"> ${cas.logout.url}"/> </bean> <!-- CAS认证过滤器 --&...
cas-client-3.1.6是耶鲁CAS的客户端最新版本。
cas-server3.5-client3.2
cas-client-3.2.1+cas-server-3.4.10------------------------------------------------
本篇文章主要介绍了spring boot整合CAS Client实现单点登陆验证的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
cas client for .NET framework. not support SSL