2.基于代填表单的单点登录
场景描述:
系统A存在帐号usr1/pwd1,系统B存在帐号usr2/pwd2,通过TAM webseal建立一个新的帐号count1/password1,并建立与系统A和系统B的帐号对应关系(这种关系被保存到TAM中)。当用户访问系统A时,要求输入用户和密码,这时输入webseal的帐号信息,提交后用户可以访问系统A,并在系统A显示当前用户是usr1(而不是count1),当用户接着访问系统B时不需要再次输入帐号信息,单点登录到系统B,同时在系统B显示当前用户是usr2。
这种单点登录的方式对于已有系统例如系统A和系统B不用做过多修改,不过需要维护它们之间帐号的对应关系。
过程说明:
首先要在TAM webseal上创建新用户count1,并创建与系统A的帐号usr1和系统B的帐号usr2的映射关系;
pdadmin sec_master> rsrccred create sysA rsrcuser usr1 rsrcpwd pwd1 rsrctype web user count1
pdadmin sec_master> rsrccred create sysB rsrcuser usr2 rsrcpwd pwd2 rsrctype web user count1
然后,根据模板建立两个SSO的配置文件,并启动代填表单的设置;
pdadmin> server task webseald-cruz create -t tcp -h websvrA -S /opt/pdweb/fsso/fssosysA.conf /jctX
[login-page-one]
login-page = /sysA/login.jsp
acOperator/userid = gso:username
acOperator/password = gso:password
pdadmin> server task webseald-cruz create -t tcp -h websvrB -S /opt/pdweb/fsso/fssosysB.conf /jctX
[login-page-one]
login-page = /sysB/login.jsp
acOperator/userid = gso:username
acOperator/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进行页面提交登录到系统B