WAS与CASSSO配置指南1/10
马会彬4/1/2009
WAS与CASSSO配置指南
马会彬,2009/3/29
IBMTivoli软件产品中,广泛使用了WAS(IBMWebSphereApplicationServer)作为其基础
中间件平台,比如ISM类产品(TivoliCCMDB、TPM、TSRM、TAMforIT等)使用WAS
标准版或ND版作为其应用的中间件服务器;而且,其他的Tivoli产品即使未使用标准版的
WAS,也是使用了eWAS(embeddedWAS),eWAS的安全机制与WAS相同。
WAS平台上的应用,如果要通过CAS与其他应用实现单点登录集成,那么要求应用必须使
用WAS平台的认证机制,而不能使用应用本身的认证机制,具体表现就是
的
WAS应用通过CAS实现SSO的过程如下图所示:
CASServer
WASServer
CAS认证模块
TAI
WAS认证模块
CASClient
WAS应用
1
,
用
户
访
问
W
A
S
应
用
3,WAS认证通过
4
/
H
,
W
A
S
应
用
返
回
用
户
请
求
页
面
A
,
用
户
请
求
访
问
W
A
S
应
用
B
,
对
用
户
进
行
认
证
C,通过认证,重定向到WAS,
并附带ST
E
,
C
A
S
客户
端
请
求
验
证
S
T
F
,确
认
认
证
S
T
2
,
对
用
户
进
行
认
证
D,WAS请求TAI确认第三方认证ST
G,通过TAI检验,WAS直接转入应用
D
G
WAS单独认证过程
通过CAS认证过程
用户
Browr
注1:WAS的认证机制,请参考“AdvancedauthenticationinWebSphereApplicationServer”:
/developerworks/websphere/techjournal/0508_benantar/0508_
注2:WAS与CAS的集成,请参考“CASifyingIBMWebSphere(WAS),WebspherePortal
Server(WPS)orWebSphereContentManagement(WCM)usingtheTrustAssociation
InterceptorAPI(TAI)
”:
/wiki/pages/?pageId=19314
本文说明CAS(CentralAuthenticationService)与WAS服务器之间实现SSO的环境配置过
程,包括CAS服务器的搭建和部署、CAS服务器与WAS服务器之间的SSL信任配置、CAS
Client端在WAS服务器上的设定,以及CASTAI的配置设定。
WAS与CASSSO配置指南2/10
马会彬4/1/2009
本文中提到/用到的主要软件及版本:
序号软件版本
1WebSphereApplicationServer(WAS)V6.1
2CentralAuthenticationService(CAS)V3.3.1
3CASJavaClientV2.1.1
4TomcatV6.0.18
1,CAS服务器搭建
本文说明将CAS服务器部署在Tomcat环境中的过程,参照的文档:
/developerworks/cn/web/wa-singlesign/
注意1:上述文档有一个错误,其中“Name”的值应该是
rvername:port,即localhost:8443,而不是localhost。详细说明可参考CAS官方文档
/cas/client-integration/java-client。
注意2:CASServer需要库。
CAS
服务器搭建的主要步骤
服务器搭建的主要步骤:
:
1,下载并部署Tomcat服务器;打开localhost:8080/确认安装成功。
2,参照lcoalhost:8080/docs/,配置Tomcat服务器的SSL;打开
localhost:8443/确认SSL配置成功。
3,从/cas下载CAS服务端文件,将文件复
制到
4,重新启动Tomcat。打开localhost:8443/cas/确认CAS服务端配置成功。
TomcatSSL的配置参照下面的文档:
/club/?tid=2038&extra=page%3D5
其中,向jrecacerts中导入认证时,建议直接用:
keytool-import-trustcacerts-aliascasrver–-keystore
-storepasschangeit
keytool-import-trustcacerts-aliascasclient–-keystore
-storepasschangeit
CASServer
端
SSL
配置
配置参考
参考
参考::
1,
生成
CASServer
端的
SSLkeystore:
WAS与CASSSO配置指南3/10
马会彬4/1/2009
2,生成CASServer端的Certificate文件:
3,将CASServer的SSLCertificate导入JRE的cacerts中:
下面说明配置同台Tomcat服务器中的examples应用为CASClient,来测试CASServer是否
正常工作。
CAS
客户端
客户端(
(同台服务器
同台服务器)
)配置步骤
配置步骤:
:
1,下载CASclient文件,并将文件拷贝到
2
,配置
CASclient
与
CASServer
之间的
SSL
信任关系。
3
,配置
,使该应用使用
CAS
的
filter
进行
安全认证。
4,重启Tomcat服务,打开localhost:8443/examples/rvlets/测试。
注意1:因为CASClient1与CASServer在同一台服务器,因此rver端的SSL证书
其实已经导入JVM的cacerts中,CASClient与CASServer之间的JRESSL信任已经建立。
注意2:CASClient作为filter插入Web应用中,且要求其必须为该web应用的第一个filter。
添加的filter示例:
WAS与CASSSO配置指南4/10
马会彬4/1/2009
在另一台Tomcat服务器上配置CASClient:
1,首先配置该台Tomcat上的SSL,启用SSL;
2,将文件复制到该服务器的
3,将CASServer上的拷贝到该CASClient上,配置该CASClient信任CAS
Server。运行:
4,配置该Tomcat服务器上的应用的,使其使用CASfilter进行登录认证。
2,WAS上CASClient的配置的配置::
首先,CAS在WAS平台上并不是以rvletfilter形式工作,而是作为WAS平台的一个TAI
(TrustedAssociationInterceptor),TAI是WAS平台与第三方认证平台建立互信的插件,它
可以将第三方认证的用户信息植入(IdentityAsrtion)WAS当前的ssion中,WAS的标
准LoginModule检测到ssion中来自TAI的用户认证信息之后,就不再进行用户认证,而
只判断该用户的信息是否完整,并使用自身的UrRegistry(例如ldap)对用户信息进行补
足(例如添加group-id)。
WAS与CASSSO配置指南5/10
马会彬4/1/2009
使用TAI的方式,与rvletfilter方式相比较,在实现SSO的同时,具有三点优势:
1,不需要对WAS应用做任何修改,包括不需要修改代码、也不需要修改等配置
文件;
2,TAI认证失败时,WAS自身的认证机制进行用户的认证,避免因认证服务器故障而造成
应用无法登录;
3,WAS的认证机制可以与TAI认证并存,而且也可以独立工作。
1,配置WAS与CASServer之间的SSL信任关系
通过IE导出CASServer的SSL证书,如下:
或者直接将CASServer端生成的SSL证书文件复制到WASServer。
然后在WASconsole页面中的【Security】>【SSLcertificateandkeymanagement】>【Key
storesandcertificates】>【CellDefaultTrustStore】>【Signercertificates】导入到truststore
中即可。如下图所示:
WAS与CASSSO配置指南6/10
马会彬4/1/2009
2,添加CASforWAS的javalib文件
从以下link下载和
/wiki/download/attachments/19314/
/wiki/download/attachments/776/
将这两个jar文件放置到
3,在WASConsole上添加配置CAS的TAI
1)在WASconsole页面中【Security】>【Secureadministration,applications,andinfrastructure】
>【Trustassociation】>【Interceptors】下,新添加一个TAI:
511
2)选择新建的TAI:
WAS与CASSSO配置指南7/10
马会彬4/1/2009
3)选择【Customproperties】:
4)选择新建,添加以下属性:
NameValueMemo
CAS_VALIDATION_URLCAS-Server:8443/cas/proxy
Validate
必须属性。
请参照具体CAS服务器,
修改“CAS-Server”
DEBUGtrue
可选属性。默认值为fal;
CASTAI的debug开关
其他属性请参考/wiki/pages/?pageId=19314,个人经验总
结,只有CAS_VALIDATION_URL是必须属性。
5
)在【
Security
】
>
【
Secureadministration,applications,andinfrastructure
】
>
【
Trust
association】勾选【Enabletrustassociation】,启用Trustassociation:
WAS与CASSSO配置指南8/10
马会彬4/1/2009
6)在【Security】>【Secureadministration,applications,andinfrastructure】>【singlesign-on】
勾选【Enabled】,启用SSO:
4,重启WASServer,查看文件:
[3/26/0911:51:06:952CST]0000000aTrustAssociatASECJ0121I:TrustAssociationInitclass
511loadedsuccessfully
[3/26/0911:51:06:968CST]0000000aSystemOutO
CasTAIHelperconfiguration:
CAS_REALM_NAME='CAS_REALM'
CAS_VALIDATION_URL='myCasServer:8443/cas/proxyValidate'
STORE_PROXY_TICKET='fal'
CAS_CALLBACK_PROXY_URL='null'
CAS_CALLBACK_PROXY_SERVLET='/CasProxyServlet'
PRINCIPAL_PREFIX=''
PRINCIPAL_SUFFIX=''
WAS与CASSSO配置指南9/10
马会彬4/1/2009
DEBUG='fal'
[3/26/0911:51:06:968CST]0000000aTrustAssociatASECJ0122I:TrustAssociationInitInterceptor
signature:1.0.0
[3/26/0911:51:06:968CST]0000000adistSecurityCISECJ0240I:Securityrviceinitializationcompleted
successfully
5,访问myCasServer/cas/login?rvice=myWebsphereServer:9080/snoop测试SSO
配置,其中假定WAS的应用为snoop
在CAS的登录页面,输入用户名和密码之后,点击“登录”按钮,成功进入WAS应用界
面中:
WAS与CASSSO配置指南10/10
马会彬4/1/2009
查看
[3/29/0918:44:44:796CST]00000029SystemOutOhasticket?=true
[3/29/0918:44:44:812CST]00000029SystemOutOrequesturl=atg100:9080/snoop
[3/29/0918:44:44:812CST]00000029SystemOutOtrytogetticket
[3/29/0918:44:44:812CST]00000029SystemOutOticketnotnull:ST-2-ecYD6442XpH0eCwnAOe0-cas
[3/29/0918:44:44:812CST]00000029SystemOutOnewticketvalidator
[3/29/0918:44:44:812CST]00000029SystemOutOrviceUrlgenerated:atg100:9080/snoop
[3/29/0918:44:44:812CST]00000029SystemOutOtvalidation
url:IBM-L3C7647:8443/cas/proxyValidate
[3/29/0918:44:44:812CST]00000029SystemOutOtrvice:atg100:9080/snoop
[3/29/0918:44:44:812CST]00000029SystemOutOtticket:ST-2-ecYD6442XpH0eCwnAOe0-cas
[3/29/0918:44:45:937CST]00000029SystemOutOvalidationdone
[3/29/0918:44:45:937CST]00000029SystemOutOgotxmlrespon:
[3/29/0918:44:45:937CST]00000029SystemOutOsucess:ur=mahb
[3/29/0918:44:45:937CST]00000029SystemOutOcasuid:mahb
[3/29/0918:44:45:937CST]00000029SystemOutOCASAuthenticationsuccess,returnedprincipal:'mahb'
CAS
与
WAS
之间的
SSO
配置成功!!!
本文发布于:2023-01-04 03:57:53,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/88465.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |