基于SAP NetWeaver EP的单点登录(SSO)(4)

2019-01-26 15:11

三一重工门户/商业智能项目培训文档

ASP.NET首页登录模块的修改

1、 获得cookie

SAP门户发送到客户端的Cookie名称是“MYSAPSSO2”,这个Cookie是隐藏的,只有把这个页面部署在Portal里之后,才可以读到Cookie。读取Cookie的示例代码:

-------------------------------------------------------------------------------------------------- Cookie[] all_Cookies = request.getCookies(); String ticket = \ int i = 0;

if(all_Cookies==null) out.println(\ else{

for(i=0;i

if(\ ticket = all_Cookies[i].getValue(); break; } }

}

-------------------------------------------------------------------------------------------------- 获得ticket的值以后,由后台的程序进行解析。

2、 解析cookie的值

解析需要的材料:

jil@neusoft.com

三一重工门户/商业智能项目培训文档

(1) 两个动态链接库:

sapssoext.dll 需要在windows环境下注册,命令:regsvr32 sapssoext.dll。 sapsecu.dll 和解析类放在同一个目录下。 (2) 门户的证书:

解析算法需要利用门户导出的证书作为解析时的公钥。

导出位置:System Administration?System Configuration?KeyStore Administration 下载.pse格式的证书,保存在本地,供使用。

解析方法示意:

public Object[] evalLogonTicket(string ticket, string pab, string pab_password) {

Object[] parms = { ticket, pab, pab_password }; // invoke the main method to check the ticket if(MyType==null)

return new Object[7]; else

return (Object[])MyType.InvokeMember(\, System.Reflection.BindingFlags.InvokeMethod,null,MyObj,parms);

}

详细解析方法,见ssosample.cs

jil@neusoft.com

三一重工门户/商业智能项目培训文档

解析结果

jil@neusoft.com

三一重工门户/商业智能项目培训文档

6利用SAP Logon Ticket集成J2EE系统 6.1原理与流程

原理与流程与集成.Net系统类似。

6.2实施过程

上传par包并建系统

用管理员身份登陆portal,依次选择System administration->support->Support desk->portal runtime->Administration Console,根据par包所在的路径选择com.sap.portal.howtos.webapp.par包,并upload;如下图:

根据par包建系统

根据刚才上传的par包建立system,并根据J2EE Application相应的路径配置参数; 需配置的主要参数:

Name of server: j2eetest.neusoft.com Port number: 8888(我的Tomcat端口) URI:/ticket/MyJsp.jsp

Logon Method: SAPLOGONTICKET User Mapping Type: admin,user Http Request Method:HTTP post 如下图:

jil@neusoft.com

三一重工门户/商业智能项目培训文档

建系统别名,配置permission

利用系统建iView

选择“New From Portal Archive” 创建iView

选择portal application “com.sap.portal.appintegrator.sap” 选择”Generic”,然后”Next”; iView属性设置

System: 刚才建的系统的别名

URL template:://:

URL Template fragment for Single sign-on (sso2) : MYSAPSSO2=

J2EE Application服务器端获取SSO2Ticket

Cookie[] all_Cookies = request.getCookies(); String ticket = \ int i = 0;

if(all_Cookies==null)

out.println(\ else{

for(i=0;i

if(\ ticket = all_Cookies[i].getValue();

jil@neusoft.com

三一重工门户/商业智能项目培训文档

break; } } }

解析需要的材料

Dll文件:sapsecu.dll、sapssoext.dll文件(SAP提供)提供SAP解析算法。 verify.pse文件,portal中keystore中下载,公钥文件 SSO2Ticket类,调用dll文件完成解析。(已实现此类) 调用SSO2Ticket类中的方法解析ticket

SSO2Ticket ticketParse=new SSO2Ticket(); ticketParse.parseTicket(ticket); 获取用户名

ticketParse.getUser(); ticketParse.getPortalusr()

注:SSO2Ticket类已经完成,直接调用即可。

解析结果

jil@neusoft.com


基于SAP NetWeaver EP的单点登录(SSO)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:6 - 冲压模具毕业课程设计说明书论文参考资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: