Cas详细配置文档格式.docx
- 文档编号:22441385
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:125.12KB
Cas详细配置文档格式.docx
《Cas详细配置文档格式.docx》由会员分享,可在线阅读,更多相关《Cas详细配置文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
四、CASSERVER配置
1.准备工作
安装配置JDK、安装Tomcat7,此处不做详解。
到CAS官网下载CASServer和Client,地址如下:
http:
//downloads.jasig.org/cas/cas-server-4.0.0-release.zip
//downloads.jasig.org/cas-clients/cas-client-3.2.1-release.zip
2.部署
1.将下载的cas-server-4.0.0-release.zip解开,把cas-server-4.0.0/modules/cas-server-webapp-4.0.0.war拷贝到tomcat的webapps目录,并更名为cas.war。
2.修改cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml文件,将属性p:
cookieSecure="
true"
变成p:
false"
(这个设置主要是让CAS不走SSL协议,详见:
让CAS不用SSL也可实现跨域)
3.启动tomcat,然后访问:
//localhost:
8888/cas,如果能出现正常的CAS登录页面,则说明CASServer已经部署成功。
如下图:
虽然
已经部署成功,但这只是一个缺省的实现,在实际使用的时候,还需要根据实际概况做扩展和定制,最主要的是扩展认证
(Authentication)
接口和
的界面。
五、CASClient配置
将下载的cas-client-3.2.1-release.zip解开,将cas-client-3.2.1/modules/
cas-client-core-3.2.1.jar,放入你的web项目lib目录中,修改web.xml,添加如下web.xml中单点登录块配置信息:
Xml代码
1.<
?
xml
version="
1.0"
encoding="
UTF-8"
>
2.<
web-app
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
3.
xmlns="
4.
xsi:
schemaLocation="
5.
id="
WebApp_ID"
2.5"
6.
<
display-name>
CasClientOne<
/display-name>
7.
welcome-file-list>
8.
welcome-file>
index.html<
/welcome-file>
9.
index.htm<
10.
index.jsp<
11.
default.html<
12.
default.htm<
13.
default.jsp<
14.
/welcome-file-list>
15.
16.
!
--
========================
单点登录结束
-->
17.
用于单点退出,该过滤器用于实现单点登出功能,可选配置
18.
listener>
19.
listener-class>
org.jasig.cas.client.session.SingleSignOutHttpSessionListener<
/listener-class>
20.
/listener>
21.
22.
该过滤器用于实现单点登出功能,可选配置。
23.
filter>
24.
filter-name>
Single
Sign
Out
Filter<
/filter-name>
25.
filter-class>
org.jasig.cas.client.session.SingleSignOutFilter<
/filter-class>
26.
/filter>
27.
28.
filter-mapping>
29.
30.
url-pattern>
/*<
/url-pattern>
31.
/filter-mapping>
32.
33.
该过滤器负责用户的认证工作,必须启用它
34.
35.
CASFilter<
36.
org.jasig.cas.client.authentication.AuthenticationFilter<
37.
init-param>
38.
param-name>
casServerLoginUrl<
/param-name>
39.
param-value>
8888/cas/login<
/param-value>
cas
服务器登录
地址
//IP:
PORT/CasWebProName/login
40.
/init-param>
41.
42.
这里的server是服务端的IP
43.
serverName<
44.
8080<
客户端服务器地址
PORT
45.
46.
47.
48.
49.
50.
51.
52.
53.
该过滤器负责对Ticket的校验工作,必须启用它
54.
55.
Validation
56.
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter<
57.
58.
casServerUrlPrefix<
59.
8888/cas<
服务器地址
PORT/CasWebProName
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
该过滤器负责实现HttpServletRequest请求的包裹,
比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
72.
73.
HttpServletRequest
Wrapper
74.
org.jasig.cas.client.util.HttpServletRequestWrapperFilter<
75.
76.
77.
78.
79.
80.
81.
该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。
比如AssertionHolder.getAssertion().getPrincipal().getName()。
82.
83.
Assertion
Thread
Local
84.
org.jasig.cas.client.util.AssertionThreadLocalFilter<
85.
86.
87.
88.
89.
90.
91.<
/web-app>
配置完毕后,启动tomcat,然后访问:
PORT/WebProName/index.jsp,如果系统跳转到CAS登录页面,输入用户名/密码(正确的)后,会跳转到http:
PORT/WebProName/index.jsp,则说明CASClient已经部署成功。
注:
到此CAS框架已搭建完毕,此种方法未采用SSL协议(需要修改Cas),如果想采用SSL协议方式,则在上述配置中需要以下调整:
∙修改CasServer所处Web容器(本文为Tomcat),使其支持SSL协议
∙CasServer部署时,不需要修改cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xm
∙CasClient
web.xml中配置的CasServer相关地址需要将http变更成https
六、JDBC认证方式
1.相关JAR包准备
cas-server-4.0.0-release.zip\cas-server-4.0.0\modules\cas-server-support-jdbc-4.0.0.jar及相应的数据库驱动包(这里是MySQL驱动mysql-connector-java-5.1.7-bin.jar)复制到cas/WEB-INF/lib目录下。
2.修改deployerConfigContext.xml1.
注释掉原本固定登录用户
bean
primaryAuthenticationHandler"
class="
org.jasig.cas.authentication.AcceptUsersAuthenticationHandler"
property
name="
users"
map>
entry
key="
casuser"
value="
Mellon"
/>
/map>
/property>
/bean>
变更为JDBC验证方式
org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
dataSource"
ref="
sql"
select
password
from
user
where
user_name=?
"
passwordEncoder"
MD5PasswordEncoder"
数据源配置
org.springframework.jdbc.datasource.DriverManagerDataSource"
driverClassName"
value>
com.mysql.jdbc.Driver<
/value>
url"
jdbc:
mysql:
3309/ossm?
characterEncoding=utf8<
username"
root<
password"
添加MD5密码加密功能
org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
constructor-arg
index="
0"
MD5<
/constructor-arg>
七、客户端获取用户登录信息
CAS登录成功默认返回的只有用户名,
JAVA客户端获取:
AttributePrincipalprincipal=(AttributePrincipal)request.getUserPrincipal();
Stringusername=principal.getName();
而在实际应用中,客户端需要知道更多的用户信息,比如用户的性别,年龄,爱好,地址,用户的分组,角色信息等等,下面介绍如何给客户端返回更多的用户资料和信息:
1.修改cas/WEB-INF/deployerConfigContext.xml,注释掉原有的attributeRepository及attributeRepository的引用信息,添加如下信息:
attributeRepository"
org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao"
1"
*
{0}"
{0}
{1}"
组装sql用的查询条件属性
queryAttributeMapping"
这里的key需写username,value对应数据库用户名字段
user_name"
id"
如果要组装多个查询条件,需要加上下面这个,默认为AND
queryType"
<
OR<
要获取的属性在这里配置
resultAttributeMapping"
--key为对应的数据库字段名称,value为提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cas 详细 配置