Portal 的结构: 1. IDP (IDentity Provider ) 认证服务器,负责Portal内(Tomcat Vavle Single Sign On)以及Portal外(liberty alliance)的认证和授权。 2. Portal。把Portlet容器中的Portlet 通过 layout的形式表现出来。 layout是个xml格式,可以实现用户的自定义。 3. Portlet 应用。 包含portlet.xml的应用。 IMPORTANT: =========== 1.这个版本是从我实现的原型中改过来的,不能完整运行。 两个主要问题: 第一:当包含Portlet.xml的web应用部署时,需要将自己所有的Portlet信息注册到Portlet容器。核心问题就是,如何在Serlvet中的init()中得到contextPath ?? 我实现的是修改了Jboss的部署器。应该还有更好的办法。 第二:如何实现portal服务器上的web应用 单点登录。我实现的是基于Tomcat 的Vavle 的单点登录(见Tomcat手册)。在我的原型实现中,运行良好。 但这个版本中,有问题。建议可以扩展基于Tomcat的单点登录 来实现或者别的更好方法。 如果有更好的方法,请发Email 至 maoxiang@qq.com. 编译步骤: 1. 本项目采用Maven编译,需要制定 repository的位置,将本项目的 respository目录复制到 maven 的 repository中去。 2. 修改 project.propterties ,设定 部署的位置。 3. maven 4. 将lib目录复制到合适的位置。 5. 启动 已知问题 ======== 1. 如何实现安全. 关于安全本原型实现没有进行设计,如果要实现,可以在PortletFactory中进行实现.不难. 2.还有哪些没有实现 可以说,很多细节都没有完全做好,比如portletwindow的管理,现在做好的是一个portal框架,一个通过了pluto的portlet container. 不过扩展不难. 比如可以修改portal的管理界面,使之更丰富. 3.哪里做的最不满意 最不满意的地方就是如何在两个不同的war之间共享jar空间.因为不同的war下的lib中的jar是两个不同的classloader,如果要实现共享, 应该可以扩展tomcat的jmx内核可以做到.因为jboss中的ws4ee模块就能实现. 4.哪里做的最满意 最满意的就是实现了JSR 168规范,积累了不可多得的经验.不过严格的说,只有通过了168的TCK,才能说实现了JSR规范,不过TCK我还没有得到.