无废话CAS单点登录配置全过程.docx

上传人:b****8 文档编号:10898376 上传时间:2023-02-23 格式:DOCX 页数:18 大小:19.56KB
下载 相关 举报
无废话CAS单点登录配置全过程.docx_第1页
第1页 / 共18页
无废话CAS单点登录配置全过程.docx_第2页
第2页 / 共18页
无废话CAS单点登录配置全过程.docx_第3页
第3页 / 共18页
无废话CAS单点登录配置全过程.docx_第4页
第4页 / 共18页
无废话CAS单点登录配置全过程.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

无废话CAS单点登录配置全过程.docx

《无废话CAS单点登录配置全过程.docx》由会员分享,可在线阅读,更多相关《无废话CAS单点登录配置全过程.docx(18页珍藏版)》请在冰豆网上搜索。

无废话CAS单点登录配置全过程.docx

无废话CAS单点登录配置全过程

CAS配置全过程

申明:

我使用的是

3.4.6版本,在路径上、文件名上可能与您的版本不一样,请务必看清您的CAS版本。

在这里我没有写过多的废话,里面属性的作用、证书的制作等都属于额外的话题,这里就是将CAS部署、运行起来。

至于其他的东西,可以慢慢研究。

写在前面的话

看了下面的文字说明如果还是搞不明白这么回事的或遇到什么疑难杂症的,请加入我的QQ群

(),群里没几个人,聊起来方便。

在CAS上我也有很多没有解决的问题(例如防止重复登录),大家一起共同探讨。

第一节:

先走通技术障碍

第一步:

环境部署

下载CAS服务器并解压,在此处我的目录是D:

\ProgramFiles\ApacheSoftwareFoundation\cas-server-

3.4.6,您可以根据实际情况解压。

打开cas-server-

3.4.6\modules,将其中的cas-server-webapp-

3.4.

6.war拷贝至您的ApacheTomcat的WebApps目录下。

改名为cas.war(为了方便)并启动Tomcat,启动完成后关闭Tomcat。

在WebApps下会看到cas工程文件夹。

将cas-server-

3.4.6\modules下的cas-server-support-jdbc-

3.4.

然后将Oracle数据库驱动加入到cas工程的lib下。

第二步:

配置数据库验证

r"/>打开cas/web-inf/deployerConfigContext.xml,找到如下代码:

将原来的代码其替换成如下代码:

"/>

其中,property元素的各个配置参数的具体含义是可以在网上找到,里面的sql语句根据您自己的数据库设计编写。

Ref参照的节点如下:

oracle.jdbc.driver.OracleDriverjdbc:

oracle:

thin:

@youripaddress:

1521:

dbnametiger

tiger

里面详细的设置用xml诠释的非常清楚,不再解释,根据自己的情况来改变里面的参数。

注意:

这个节点的所处位置是这样的:

仔细看dataSource这个bean的根节点是beans。

是与authenticationManager是并列的关系。

将代码折叠起来看会看的更清楚一些。

第三步:

配置自己的Web工程

在自己的Web工程里加入cas-client-core.jar,然后在web.xml中加入以下代码:

CASAuthenticationFilter

org.jasig.cas.client.authentication.AuthenticationFilter

--CAS服务端登录地址-->

casServerLoginUrl

http:

//localhost:

80/cas/

serverName

http:

//localhost:

80

CASAuthenticationFilter

/index.html

标红的地方您可以自己选择过滤,如果你想验证所有的请求,就/*就可以了。

自此,您就可以登陆http:

//localhost:

80/youwebproject进行登陆了。

第二节:

完善我们的配置

第一步:

完善自己的Web工程的Web.xml

大家如果按照上面的配置方法去配置,在最后的filter采用/*的话,您可能会发觉您原来的页面中的图片、JS、CSS都加载不进来了。

这是CAS做了限定,不过不用担心,将以下配置加入到您的web工程的web.xml下就可以了,注意看红色部分是新增的:

--CASFilter-->

CASSingleSignOutFilter

org.jasig.cas.client.session.SingleSignOutFilter

CASAuthenticationFilter

org.jasig.cas.client.authentication.AuthenticationFilter

--CAS服务端登录地址-->

casServerLoginUrl

http:

//localhost:

80/cas/

serverName

http:

//localhost:

80

CASValidationFilter

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

casServerUrlPrefix

http:

//localhost:

80/cas

serverName

http:

//localhost:

80

CASHttpServletRequestWrapperFilter

org.jasig.cas.client.util.HttpServletRequestWrapperFilter

CASAssertionThreadLocalFilter

org.jasig.cas.client.util.AssertionThreadLocalFilter

CASSingleSignOutFilter

/*

CASAuthenticationFilter

/*

CASValidationFilter

/*

CASHttpServletRequestWrapperFilter

/*

CASAssertionThreadLocalFilter

/*

如果您看到上面的东西有点头晕不知道放在那里的的话,我现在将我的web.xml配置全部贴上来,注意标红的地方就是CAS的配置:

xmlversion="

1.0"encoding="UTF-8"?

>

2.5"xmlns="http:

xmlns:

xsi="http:

3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="http:

http:

5.xsd">

--配置Log4j的xx监听-->

log4jConfigLocation

/WEB-INF/log4j.properties

log4jRefreshInterval

600

webAppRootKey

portal.web.root

contextConfigLocation

classpath:

applicationContext*.xml

--CASFilter-->

CASSingleSignOutFilter

org.jasig.cas.client.session.SingleSignOutFilter

CASAuthenticationFilter

org.jasig.cas.client.authentication.AuthenticationFilter

--CAS服务端登录地址-->

casServerLoginUrl

http:

//localhost:

80/cas/

serverName

http:

//localhost:

80

CASValidationFilter

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

casServerUrlPrefix

http:

//localhost:

80/cas

serverName

http:

//localhost:

80

CASHttpServletRequestWrapperFilter

org.jasig.cas.client.util.HttpServletRequestWrapperFilter

CASAssertionThreadLocalFilter

org.jasig.cas.client.util.AssertionThreadLocalFilter

--添加过滤器过滤网页文本字符集编码格式-->

characterEncodingFilter

encoding

utf-8

--添加session的过滤器改变session为页面级生命周期-->

hibernateFilter

org.springframework.orm.hibernate

3.support.OpenSessionInViewFilter

singleSession

false

struts2

org.apache.struts

2.dispatcher.FilterDispatcher

struts.devMode

false

CASSingleSignOutFilter

/*

CASAuthenticationFilter

/*

CASValidationFilter

/*

CASHttpServletRequestWrapperFilter

/*

CASAssertionThreadLocalFilter

/*

characterEncodingFilter

*.do

hibernateFilter

/*

struts2

/*

org.jasig.cas.client.session.SingleSignOutHttpSessionListener

org.springframework.web.util.Log4jConfigListener

--Spring启动监听-->

org.springframework.web.context.ContextLoaderListener

org.springframework.web.util.IntrospectorCleanupListener

--session超时定义,单位为分钟-->

20

BASIC

现在,访问您的web应用,在登录后就不会有CSS等资源加载不上来了。

第二步:

完善CAS,让用户登录返回更多信息

首先找到CAS的deployerConfigContext.xml,找到节点ID为attributeRepository的bean,将其注释,加入以下配置,配置的参数根据您的系统自己定义。

class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">

--以下注释掉的原因是暂时没有解决中文字符集的问题-->

---->

您可能注意到上面的注释,对的,在默认的环境下,CAS是不支持中文参数的传递的,当然,这个问题出现在编码上,您可以查找相关资料解决这个问题(我在网上找的都没有解决)。

然后在

X:

\apache-tomcat-

6.0.30\webapps\cas\WEB-INF\view\jsp\protocol\

2.0目录下找到casServiceValidationSuccess.jsp,这个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1