中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> Bea专区 > WebLogic Portal 7.0
WebLogic Portal 7.0 上开发小结
作者:徐春好 时间:2006-08-08 13:48 出处:bea.com.cn 责编:月夜寒箫
              摘要:WebLogic Portal 7.0 上开发小结
最近我们做了一个WebLogiPortal7.0的Demo,本文中我对在这个项目中遇到一些应用问题做了一个技术小结,在此拿出来和大家一块分享。

 

一、 Weblogic Platform Portal 7.0上配置iPlanet LDAP Authenticator

LDAP Authenticator的配置主要是确定WebLogic服务器中的LDAP Authenticator如何与LDAP服务器进行通信以及描述用户与用户组如何保存在LDAP目录中。我在Weblogic Portal 7.0上配置iPlanet LDAP Authenticator的步骤如下:

1、在iPlanet LDAP上的配置

在iPlanet LDAP上必须建立一个用户,它的UID和Password必须和Portal Server的Administrative User的user name 和password一样。具体配置步骤如下:

a 如下图进入Directory页面,在你的domain上选择People(请参考下图,本例中为wlp下的People,wlp是在安装LDAP时设置的suffix):


b 右键点People,添加一个用户如system,它的UID和Password必须和Portal Server的Administrative User的user name 和password一样(本例中为system/password):


c 在People下你也可以建立其他的Group和user。

 

2、在WebLogic Portal7.0上的配置:

与WebLogic Server不同,WebLogic Portal Domain缺省的安全域是CompatibilityRealm,因此我们需要在CompatibilityRealm下进行系列配置。

a 进入CompatibilityRealm->Authenticator点击configure a new Iplanet Authenticator…:


b 输入Name,可以选择control flag


c 填写LDAP Server的host及port。Principal必须是你所建立的用户(即UID和Password和WebLogic Portal Server的Administrative User的user name和password一样的用户)的entrydn。(在本例中为system用户的entrydn)


其他的Users、Groups、Memebership、Detail可以进行相应的配置。通过以上配置LDAP Authenticator与iPlanet LDAP Server就可以通信了。如果你要把用户与用户组的信息保存在LDAP目录中,肯定还有一些工作要作了。另外iPlanet安装完后,在其java目录中提供了一个开发包ldapjdk.jar,它包含了有用的一些API函数,可以用它写程序来操作LDAP,详细信息请参考iPlanet LDAP的相关文档。

 

二、 域的资源调用

在开发中碰到一个现象:我们写了一个portlet,它要调用部署在另一个domain上的EJB,当以everyone登录时,它可以lookup到EJB正常地工作,但当把这个portelt分配给不是everyone的组时,调用时会抛出java.lang.SecurityException。经分析出现这个现象的原因是:Weblogic Server有一个缺省的everyone组,如果用户是everyone这个组的成员,两个域之间的访问是没有问题。在WebLogic Server7.0中两个域之间的访问是需要信任的(这在WebLogic Server6.1上是不需要的),我们需要把两个域的credentials "password"设置成一样的就可以了。


操作步骤如下:

- Click on <myNameDomain> at the top of the tree view

- Click on the "Security" tab

- Click on the "Advanced" tab

- CLick on the "Change..." link next to "Credential"

- Set you password

Repeat on the other server

 

三、 Portal与Domino的集成

WebLogic Portal与Domino的集成你可以如下两种选择:

1、使用Compoze公司(http://www.compoze.com)预置的portlets来直接集成(好像Compoze对Bea的正式用户是免费的):

你可以在compoze网站注册一个用户,然后上该网站下载一个叫“Harmony Portlets for BEA Weblogic Portal7.0”的包,它里面带有“

 

Harmony for Lotus Domino”模块。

注册后它会通过email发给你一个Evaluation的license。安装成功后,剩下的就只需要在Domino和WebLogic Portal上进行一些简单的配置了,具体过程请参考compoze的说明文档(在安装后的…\harmony_portlets_bea-7.0\docs下的pdf文件)上有详细的说明。

在”Harmony for Lotus Domino”3.0的版本中,对双字节的支持有问题,中文显示为乱码。为了显示正确,需要修改compose的程序。在2003年1月23日compose公司新推出了Harmony for Lotus Domino”3.1的版本,应该增强了对双字节的支持,不过我没有做过测试。

 

2、可以使用lotus提供的Toolkit自己做它们的集成。

Toolkit是Lotus自己提供的Java API,它是通过调用Notes用来操作Domino数据库的,就像Type 2 的 JDBC Driver,所以在运行你的JavaCode的客户机上需要装Notes。Toolkit可以到http://www.lotus.com上去下载。如果你熟悉Domino和BEA portal的开发,可以试试。

四、 在WebLogic Portal Server中使用Jrockit

为了提高运行速度,你可以使用Jrockit:

1、 修改weblogic700\portal\bin\win32\set-environment.bat中的JDK_HOME环境变量为Jrockit(如:set JDK_HOME=f:\jrockit\jre\1.3.1);

2、 将weblogic700\portal\bin\win32\startWeblogic.cmd中的if "%JAVA_VM%"=="" set JAVA_VM=-hotspot注释掉;

3、 将portalDomain\startPortal.bat中的set MEM_ARGS=-Xms128 -Xmx128m -XX:MaxPermSize=128注释掉。

 

五、 SSO(单点登录)的实现

1、 使用第三方产品:

WebLogic Portal可以使用第三方的具有单点登录功能的安全产品。如:Netegrity公司的产品:SiteMinder,它是基于目录的门户管理系统,由两部分组成,SiteMinder Policy Server 和SiteMinder Agents。Policy Server向基于网络的应用提供了政策管理,鉴定,授权和会计服务。SiteMinder Agents 包括Web Agent, Affiliate Agents和Application Server Agents。Web Agent 和标准的网页服务器相整合,使SiteMinder可以根据定义好的安全政策管理对网页及其内容的访问。Affiliate Agent 在相关站点的网络服务器上运行并提供单一登录,向相关站点的用户提供个性化内容。Application Server Agent和应用服务器的HTTP 服务器相联系,以保护Java 2 platform,Enterprise Edition(J2EE)等组件。SiteMinder通过一系列不同的机制管理每个用户的认证。一旦认证完成,SiteMinder即为该用户生成一个Strongly Encrypted SSO 单据 (cookie)。这个cookie本身并不含有任何密码、信用信息或用户信息等。当该用户访问另一台Web服务器或另一个域的应用时,SiteMinder使用这些信息,而不用对用户进行再次认证。SiteMinder还 提供了SAFE (Secure Access For Enterprises),即一整套使开发人员能够轻松地扩展并与SiteMinder功能进行集成的工具、API和文档。

 

2、 自己开发实现

WebLogic Server7.0支持很多的安全协议和标准,提供了安全域的集成机制。你还可以对WebLogic Portal进行一些二次开发。当然要实现SSO还有很多工作要做了。

 

六、 几个版本的小结:

1、WebLogic Portal7.0.0.1:在无网络连接情况下做Hot Deploy操作时会失败,可以采用手工Deploy:(其原因是部署描述文件中使用的DTD找不到)

操作步骤可参考如下文件:

http://edocs.bea.com/wlp/docs70/dev/deploy.htm#998197

 

2、WebLogic Integration 7.0 SP1(WLI 7.0 SP1)在中文环境下运行wliconfig.cmd会抛出:java.util.MissingResourceException异常,这是因为WLI采用当前JVM默认的区域设置,如果我们使用的是中文Windows操作系统,返回的Local是zh_CN,而WLI中并没有提供zh_CN的资源属性文件,所以会抛出上述异常。一个解决方案是修改wliconfig.cmd,为虚拟机追加language和region系统属性;把7.0sp1上的wliconfig.jar用7.0.0.1或7.0sp2上wliconfig.jar替换掉也可以。

 

3、 WebLogic7.0 SP1对双字节的支持比之前的版本增强了很多。

 

由于时间仓促,本文肯定存在许多不足之处,对此还望读者不吝指正。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有