您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > IBM单点登录技术实现
单点登录技术实现(IBM)TAMeb是IBM实现企业单点登录的解决方案产品之一,通过TAMeb能集中进行应用级别的认证和授权,实现不同类型系统的单点登录。下面就简单介绍一下TAMeb实现用户单点登录的几种方式:1、基于LTPA;2、代填表单;3、数字证书;4、基于HTTP请求头。1.基于LTPA的单点登录名词说明:LTPA(Lightweightthirdpartyauthentication)是IBM提供的基于cookie的轻量级的认证方式,如果需要实现SSO的环境为IBM提供的各种中间件,那么使用LTPA将是最佳的方式。Webseal是TAM(TivoliAccessmanager)的关键组件,它相当于一个反向代理器,所有的请求将被它所截获,然后由它进行处理转发。场景描述:当用户发出一个URL请求到WAS(WebsphereApplicationServer)等支持LTPA(Domino、WPS)的应用,系统要求输入“用户/密码”,输入并提交后用户就可以访问这个WAS的应用,接着当用户再访问Domino等其它支持LTPA的应用,此时无需再次输入“用户/密码”信息即可以访问Domino(等其它支持LTPA)下的web应用了。过程说明:首先需要在多个服务器以及TAM的Webseal上配置基于LTPA的信任关系,经过配置后的服务器之间建立了信任,当其中一个服务器认证通过后,再去访问其它已经建立过信任关系的服务器时,因为它们之间彼此是信任的,所以就无需再次认证了。下面以WAS、Domino和Webseal来简单说明一下LTPA信任的配置过程:◆在WASServer上生成LTPAKey,并启用LTPA进行安全认证◆在DominoServer导入上面生成的LTPAKey,并配置DominoServer使用LTPA进行认证◆在Webseal上基于上面生成的LTPAKey创建到WAS和Domino的Junction通过上述配置就完成了基于LTPA的单点登录,下面以图示来详细说明认证过程的流程:(1)用户发出一个URL请求到WAS,此请求被Webseal拦截,Webseal定向到它内置的一个form表单,要求输入用户/密码进行认证;(2)Webseal拿着输入的用户/密码到LDAPserver进行用户鉴别;(3)Webseal认证成功后生成一个LTPA的Token,并将请求转发到WAS端,WAS收到请求后,发现此请求含有LTPA的Token,因为之前已经配置了它和Webseal以及Domino的信任关系,所以WAS不再要求进行认证,直接将请求的响应返回,用户收到所需的页面信息响应;(4)用户再次访问Domino的Web应用,此请求被Webseal拦截;(5)因为Webseal之前缓存了LTPA的Token,它快速检查了请求信息是来自它所信任的WAS,所以不需要再与LDAPServer进行用户信息的鉴别,它把请求直接转给Domino,因为Domino和Webseal是信任的,所以也不需要再次认证,Domino将直接返回Webseal的请求结果。2.基于代填表单的单点登录场景描述:系统A存在帐号usr1/pwd1,系统B存在帐号usr2/pwd2,通过TAMwebseal建立一个新的帐号count1/password1,并建立与系统A和系统B的帐号对应关系(这种关系被保存到TAM中)。当用户访问系统A时,要求输入用户和密码,这时输入webseal的帐号信息,提交后用户可以访问系统A,并在系统A显示当前用户是usr1(而不是count1),当用户接着访问系统B时不需要再次输入帐号信息,单点登录到系统B,同时在系统B显示当前用户是usr2。这种单点登录的方式对于已有系统例如系统A和系统B不用做过多修改,不过需要维护它们之间帐号的对应关系。过程说明:首先要在TAMwebseal上创建新用户count1,并创建与系统A的帐号usr1和系统B的帐号usr2的映射关系;pdadminsec_masterrsrccredcreatesysArsrcuserusr1rsrcpwdpwd1rsrctypewebusercount1pdadminsec_masterrsrccredcreatesysBrsrcuserusr2rsrcpwdpwd2rsrctypewebusercount1然后,根据模板建立两个SSO的配置文件,并启动代填表单的设置;pdadminservertaskwebseald-cruzcreate-ttcp-hwebsvrA-S/opt/pdweb/fsso/fssosysA.conf/jctX[login-page-one]login-page=/sysA/login.jspacOperator/userid=gso:usernameacOperator/password=gso:passwordpdadminservertaskwebseald-cruzcreate-ttcp-hwebsvrB-S/opt/pdweb/fsso/fssosysB.conf/jctX[login-page-one]login-page=/sysB/login.jspacOperator/userid=gso:usernameacOperator/password=gso:password(1)当用户请求到系统A时,Webseal拦截此请求,并要求输入帐号信息,用户输入Webseal的帐号信息并提交;(2)Webseal进行认证并通过认证;(3)Webseal认证完成后根据之前的配置去查找对应的系统A的帐号,并调用login-page=/sysA/login.jsp进行页面提交登录到系统A;(4)当用户接着请求到系统B时,Webseal拦截此请求;(5)因为之前已经缓存了Webseal的帐号信息,所以Webseal只需查看当前请求的上下文找到对应的系统B的帐号,并调用login-page=/sysB/login.jsp进行页面提交登录到系统B3.通过数字证书实现单点登录场景描述:用户访问WAS系统,系统提示输入帐号进行验证,之后当用户再访问系统A时则提示选择数字证书进行认证,用户选择并确定数字证书后即登录系统A。过程说明:首先要建立CAcenter、Webseal、系统A之间的信任关系,步骤如下(1)CACenter给Webseal颁发服务器证书和根证书,Webseal将这两个证书导入;(2)CACenter给系统A颁发服务器证书和根证书,系统A也导入这两个证书;(3)在客户端浏览器导入CACenter颁发的用户证书和根证书;上述3个步骤完成了CAcenter与Webseal以及系统A的证书信任过程,它们都有来自CACenter的根证书,此外客户端也拥有了根证书;然后在Webseal配置“保护对象策略”(ProtectedObjectPolicies)是数字证书的方式,并配置到此POP的资源是系统A;pdadminsec_masterpopcreatesysA_poppdadminsec_masterpopmodifysysA_popsetipauthanyothernw2pdadminsec_masterpopattach/WebSEAL/webseald-cruz/sysAsysA_pop(1)当用户请求WAS应用时,Webseal要求输入用户名和密码,完成登录;(2)当用户接着请求到系统A时,Webseal根据之前设定要求数字证书的验证,浏览器弹出数字证书选择对话框(用户数字证书已在浏览器客户端导入),用户选择自己对应的数字证书后通过认证进入系统A4.自行的用户认证和授权Webseal在完成SSO之后通过Httpheader向其它系统提供帐号信息,其它系统利用此信息分解出帐号,然后自行进行用户授权或者认证和授权场景描述:用户访问系统A,经过WebSEAL进行验证之后,Webseal通过HTTPHeader向系统A提供用户身份信息,系统A接收到HTTPHeader传递的用户信息后自行处理。过程说明:(1)创建到系统A的httpheader;servertaskwebseald-cruzcreate-ttcp-hIPaddress-p8080-civ-user-x-f/sysA(2)用户访问系统A应用时,Webseal拦截用户请求,并要求输入帐号进行认证;(3)用户完成帐号输入并提交,然后Webseal通过认证后将用户信息放到httpheader中转发给系统A接收程序接收;(4)系统A接收到Webseal的请求后,进行分析取出用户信息,示例代码如下:Stringusername=request.getHeader(iv-user);
本文标题:IBM单点登录技术实现
链接地址:https://www.777doc.com/doc-5008619 .html