基于开源CAS进行SSOSSO方式讨论LTPA凭证库TAM类产品开发商自行开发的代填表单CAS介绍CAS是Yale大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法,CAS在2004年12月正式成为JA-SIG的一个项目。CAS具有以下特点:*开源的企业级单点登录解决方案。*CASServer为需要独立部署的Web应用。*CASClient支持非常多的客户端(这里指单点登录系统中的各个Web应用),包括Java,.Net,PHP,Perl,Apache,uPortal,Ruby等。CAS原理和协议从结构上看,CAS包含两个部分。CASServer和CASClient。CASServer需要独立部署,主要负责对用户的认证工作;CASClient负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CASServer。CAS最基本的协议过程实现方式标准CAS的重定向是利用FILTER来完成的。对于PORTAL而言,如果使用FILTER进行登录的拦截,LTPATOKEN无法生成。因此需要考虑其它的方式。对WAS进行CAS客户端配置。使用TAI方式进行登录。WASTAI配置架构WASTAI1、用户访问PORTAL的请求被重定向到CAS。2、CAS判断用户是否已登录。若是,转回PORTAL。若否,登录建立CASSESSION再转PORTAL。WASTAI续3、PORTAL检测用户是否已登录PORTAL(LTPA)。若是,则进入页面。若否,转TAI。TAI通过配置的属性检查CASTICKET的有效性。由于WAS配置TAI后,就可以由信任的TAI进行用户身份验证,而WAS的安全机制不作其它的验证工作。CASTAI验证用户成功后,即返回用户的相关信息(如下图)由WAS的安全模块根据这些信息创建WAS的SESSION(LTPA)。WASTAI配置过程1、从=19314上下载CasClientWebsphere-x.x.x.jar和casclient-2.1.1.jar放到WPSInstallDirectory/AppServer/lib/ext的目录中。2、在WAS管理控制台中配置TAI。配置过程配置过程这三个属性是必须的。SSL的端口如果非443就需要写在URL上。CAS_VALIDATION_URL=yourcasserverurl,ex:'PRINCIPAL_PREFIX=prefixtoaddtoprincipal,inordertoallowmappingforgroups,ex:'uid=';defaultisPRINCIPAL_SUFFIX=suffixtoaddtoprincipal,inordertoallowmappingforgroups,ex:',OU=myOu,O=myCompany'defaultis配置SSL在WAS7中可以利用以下步骤配置:ClickSecurity-SSLcertificateandkeymanagement-SSLconfigurationsPM-NodeDefaultSSLSettings-Keystoresandcertificates-NodeDefaultTrustStore-Signercertificates.ClickRetrievefromport.TheGeneralPropertieswindowisshown.AddtheCASserverinfomation:Typethehost,port,andaliasname,andselectoptionsasrequired.ClickRetrievesignerinformation.SaveyourconfigurationchangesbyclickingApply.ClickOK.Restarttheportal.验证PORTAL启动日志中应该包含有TrustAssociationInitclasscom.octo.cas.client.websphere.CasTAI511loadedsuccessfully类似的信息并打印相关属性。使用=进行登录测试。如果可以登录CAS后直接进入PORTAL,说明SSO配置成功。谢谢