Teamcenter家族中有诸多的应用程序,如Teamcenter Engineering, Teamcenter Enterprise, Teamcenter Project, Teamcenter Community, Teamcenter Requiement等等,每个应用程序都使用自己的用户数据库进行身份验证。
在一个部署了多种Teamcenter应用程序的环境下,如果有一种机制能够实现在多种应用程序间的一次登录(Single Sign-On),那将会减少很多登录的操作。
Teamcenter Security Serveice就是用来实现这一目的。
本例中通过配置Security Service,使用户在TC Engineering 与 TC Project之间实现一次登录,身份验证所使用的用户资源由LDAP提供。
假设用户已经安装配置完成以下工具:
Teamcenter Engineering 2005
Teamcenter Engineering 2005 Web Tier (On Weblogic)
Teamcenter Project 2005
Teamcenter Application Registry
Sun Directory Server 5.2 (LDAP)
配置步骤:
1. 配置Security Service
(1) 从SecurityServices1.3.3.zip中解出WINDOWS文件夹到本地
(2) 将INSTALL_SSO.EXE解到本地,如c:\tceng2k5\sso
(3) 将INSTALL_TCWEB.EXE解到本地,如c:\tceng2k5\sso
(4) 运行insweb.bat
(4.1) 创建名为"Teamcenter Login Service"的应用程序
在创建应用程序对话框中,磁盘位置为刚才解开的c:\tceng2k5\sso, 在"解决方案"中仅添加"Teamcenter Security Services Identity Service Web Application", "高级WEB应用程序选项"中,使之自己构建可部署的文件,名为sso, 确定之后,在"上下文参数"中主要修改以下两个参数:
tcsso.login_service.appid = TCSSOLoginService
tcsso.login_service.sso_service_url = http://ugsplm:7001/id/
(ugsplm处改为你的主机名,假设weblogic端口为7001)
点击确定完成该应用程序的创建(sso.war).
(4.2) 创建名为"Teamcenter Identity Service"的应用程序
磁盘位置同上,解决方案仅添加"Teamcenter Security Services Login Service Web Application",在"上下文参数"中,修改以下与LDAP相关的参数(以下参数的取值完全取决于所用的LDAP服务器的实际情况):
LDAPHost = ugsplm (LDAP 服务器主机名)
LDAPPortNo = 389 (LDAP端口,默认为389,但要注意SUNDS会在配置过程中自动指定该端口,如725x)
QueryDN = DS Manager,如"cn=root"
QueryDNPassword = 该DS Manager的密码
BaseDN = 在什么范转内搜索DS,如"ou=people,o=ugs.com"
UserObjectClass = 验证所需用户的类名,如"intOrgPerson"
UserAttribute = LDAP用户用于验证的属性,如"uid"
修改Applicatin Registry的应用程序注册信息,添加SSO相关的应用程序ID和URL
点击"修改表",在弹出对话框中选定"Application Registry"进行修改,添加已配置的与SSO相关的应用程序,本例中如下:
ID=TCEngineering, URL=http://ugsplm:7001/tc/webclient, LDAPUSER=TcEngineeringUserName
ID=TCSSOLoginService, URL=http://ugsplm:7001/id, LDAPUSER=TCSSOLoginServiceUserName
ID=TCProject, URL=http://ugsplm:8000, LDAPUSER=TCProjectUserName
(4.4) 生成id.war
(5) 在Weblogic中将id.war与sso.war部署为"Web Application Modules"
(6) 配置SUN Directory Server
(5.1) LDAP Fully Qualified Computer Name = ugsplm.ugs.com, 如果该域为虚拟域,请修改hosts文件使之能被正常访问到.
(5.2) 记住配置过程中LDAP的ServerID与Port, 用于前边sso应用程序上下文参数的配置.
(5.3) Directory Server Console Admin, ID=admin, 指定其密码, 用于管理LDAP.
(5.3) Directory Manager, ID: cn=root, 指定密码, 这两个参数将用于前边sso应用程序的配置.
(5.4) 在LDAP schema添加用户属性
在Schema中添加以下属性(这些属性就是在ApplicationRegistry中指定的属性名,用于对每一个LDAP用户来绑定teamcenter应用程序的用户信息):
tcengineeringusername, tcprojectusername, tcssologinserviceusername
(5.5) 在LDAP Schema中创建新的对象类,指定其类名,如ugsplm,并在该类中添加刚刚创建的三个属性.
(5.6) 创建新的与当前域相关的LDAP Suffix, 如"o=ugs.com"
(5.7) 创建新的OU(Organization Unit),相当于部门名称,如名为"people"
(5.8) 在该OU中创建新LDAP用户,如名为"dgh"
(5.9) 在用户属性对话框中,将前面添加的属性类"ugsplm"添加到"object class"中,此时,在用户属性中会显示前面添加的三个属性
(5.10) 为这三个属性指定值,即为该LDAP用户添加tcproject, tcengineering, tcsso的用户名,如:
tcengineeringusername=infodba
tcprojectusername=admin
tcssologinserviceusername=dgh
到此,LDAP的配置基本完成.
(6) 为TCProject配置SSO选项
(6.1) 在TCProject的JDOT工具对话框中,在"configuration"页面中,选中"Enable SSO integration"
(6.2) 在SSO配置对话框中输入以下值:
SSO Service URL=http://ugsplm:7001/id/xmlrpc
SSO Html Login URL=http://ugsplm:7001/sso/weblogic/login_redirect
Application ID=TCProject (该值要与SSO上下文参数中所指定的project appid相同)
然后,点击"test"按钮进行测试,通过后,退出对话框, restart project services
(7) 测试SSO weblogin
在浏览器中访问以下URL: http://host:port/sso/weblogin/home, 在登录对话框中输入前面创建的LDAP用户和密码进行登录,如显示如下信息则表示成功:
"You have successfully logged in to Teamcenter"
(8)在Teamcenter Environment Management中,为tcengineering添加如下组件: Security Service, 其中,
urlToWar = http://host:port/sso
urlToServiceWar = http://host:port/id
AppID = TCEngineering (该值要与SSO上下文参数中所指定的相同)
(8) 测试SSO环境下的Teamcenter Engineering 登录
运行rich client 或 OTW (2/4 Tier), 点击任一应用程序(如导航器), 系统会重定向到SSO登录的WEB页面,此时要求输入LDAP用户信息, 登录成功能,自动返回到portal完成登录过程.(所使用的Tcengineering用户为前面指定的该LDAP用户tcengineeringusername属性的值)
(9) 测试SSO环境下的Teamcenter Project 登录
打开TcProject登录界面(如http://host:port/login.jsp),网页会自动redirect到SSO的登录界面,同样输入LDAP用户信息,即可完成Project登录过程.
(END)
1 comment:
可以用Windows AD做LDAP吗?
如果可以,如何配置?
Post a Comment