Cas详细配置文档格式.docx

上传人:b****8 文档编号:22441385 上传时间:2023-02-04 格式:DOCX 页数:14 大小:125.12KB
下载 相关 举报
Cas详细配置文档格式.docx_第1页
第1页 / 共14页
Cas详细配置文档格式.docx_第2页
第2页 / 共14页
Cas详细配置文档格式.docx_第3页
第3页 / 共14页
Cas详细配置文档格式.docx_第4页
第4页 / 共14页
Cas详细配置文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Cas详细配置文档格式.docx

《Cas详细配置文档格式.docx》由会员分享,可在线阅读,更多相关《Cas详细配置文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

Cas详细配置文档格式.docx

四、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为提

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

当前位置:首页 > 经管营销 > 销售营销

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

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