1.1  如何为自己留下进入管理界面的后门

1. 1.1   问题描述

在主题与皮肤开发的过程中,不小心删除了 “管理”链接,无法再进入到 Portal 管理界面。这个问题其实挺严重的,如果不进入 Portal 管理界面,就无法卸载已经安装的主题与皮肤,开发工作就无法进行下去。

1. 1.2   解决方案

有两种方法解决这个问题。

第一种方法:为自己留一个后门。执行方法就是上一节提到的创建 URL 映射的方式,也就是说,新建一个 admin 的 URL 映射,然后将 admin 的 URL 映射到 Portal 管理界面,这样万一损坏了“管理”链接,则可以在登录系统后直接在地址栏输入: http://hostname:10040/wps/ myportal/admin 进入到 Portal 管理界面。这算是给自己留的后门吧。具体的操作步骤可以参考上一节创建 URL 映射的过程。

第 二种方法:这种方法其实很简单,就是多打开几个页面,其中一个停留在 Portal 管理界面,而且要保证这个页面的会话数据是有效的(即: Session 不要过期)。调试主题效果时使用其他页面,这样万一主题损坏,则可以立即切换到 Portal 管理界面,删除刚刚添加的、损坏的主题。

1. 2  获取登录用户信息

1. 2.1   问题描述

获得登录用户对象,并取出用户名、注册邮箱等用户信息,在主题与皮肤开发以及 Portlet 开发中都经常会用到。如何取出用户信息?我们通过配置 + 编码的方式来实现。

1. 2.2   解决方案

第一种方法:标签 + 代码方式。

首先修改 IBM/WebSphere/wp_profile/installedApps/[cellname]/wps.ear/wps.war/themes/html/ ThemeName 目录下的 Default.jsp 文件:

将 <%@ page session="false" buffer="none" %> 改成 <%@ page session="true" %> 。

然后 导入 IBM User 的 JAR 包 , 这个包的名字是 wp.user.api.jar , 可以在 IBM/WebSphere/Portal Server/base/wp.user.api/shared/app 下找到。

<%@ page import="com.ibm.wps.puma.User" %>

加入如下代码:

<%

HttpSession mysession=request.getSession();

String loginname="";

if(mysession.getAttribute("com.ibm.wps.util.session_user")!=null){

com.ibm.wps.puma.User myuser=(com.ibm.wps.puma.User)mysession.getAttribute   ("com.ibm.wps.util.session_user");

loginname=myuser.getFullName();

}

%>

第二种方法 : 在 Default.jsp 里直接引入用户类包,并在主题里初始化。

参考代码如下:

<%@ page import ="com.ibm.portal.portlet.service.PortletServiceHome" %>

<%@ page import ="com.ibm.portal.portlet.service.PortletServiceUnavailable   Exception" %>

<%@ page import ="com.ibm.portal.puma.User" %>

<%@ page import ="com.ibm.portal.um.PumaHome" %>

<%@ page import ="com.ibm.portal.um.PumaProfile" %>

<%@ page import ="com.ibm.portal.um.exceptions.PumaException" %>

<%

PumaHome home = null;

Context ctx = new InitialContext();

PortletServiceHome serviceHome = (PortletServiceHome)ctx.lookup("portlet   service/com.ibm.portal.um.portletservice.PumaHome");

home = (PumaHome)serviceHome.getPortletService(PumaHome.class);

PumaHome pumaHome = home;

PumaProfile pumaProfile = pumaHome.getProfile();

String currentUserName = null;

User currentUser = (User)pumaProfile.getCurrentUser();

currentUserName = currentUser.getName();

out.print(currentUserName );

%>

1. 3  个性化Portlet添加控制板

1. 3.1   问题描述

在正常情况下,我们会按照如下的方法使用 Portlet 添加班来工作。

以 wpsadmin 身份登录 Portal 6.1 系统,单击页面右上角的“展开选用板”按钮,如图 1- 10 所示。

图 1- 10   单击“展开选用板”按钮

可以看到 Portlet 选用板被成功初始化,如图 1- 11 所示,这就是传说中的 Portlet 选用板。

图 1- 11   传说中的 Portlet 选用板

通过将选用板上的 Portlet 拖曳到左侧页面,可以直接将 Portlet 定制到页面,并分配给有相关权限的用户使用,如图 1- 12 所示。

图 1- 12   可以直接将 Portlet 定制到页面

单 击 Portlet 列表中分类选项条目的右侧,可以查阅该分类下的所有 Portlet ,如图 1- 13 所示。

这时候就有人可能提出问题:这些分类都是默认的,难以识别,能不能按照我的类别分类,并且将我希望提供给用户的 Portlet 添加到相应的类别里?

回答是肯定的。以下是解决方法

图 1- 13  Portlet 的分类

1. 3.2   解决方案

单击 “ Portlet ”选项右侧的三角形按钮,选择“配置”,如图 1- 14 所示。

图 1- 14   选择“配置”

单 击各个类别右侧的三角形按钮,选择 “删除类别”,这个类别就被删除了,如图 1- 15 所示。

选择 “重命名类别”,还可以给这个类别改名称。

图 1- 15   可以删除不想要的类别

单击 “配置”右侧的三角形按钮,选择“创建新类别”,就可以创建新的类别了,如图 1- 16 所示。

图 1- 16   可以创建自己真正需要的类别

单击创建好的新类别右侧的三角形按钮,选择 “添加 Portlet ”,就能为这个类别分配属于它的 Portlet ,如图 1- 17 所示。

图 1- 17   往新创建的类别里添加 Portlet

如果你的类别被弄得一塌糊涂,则可以选择配置右侧的三角形按钮,选择 “复位成缺省值”,那么你所个性化的所有类别都将被删除,系统会恢复成刚刚完成安装时的默认状态,如图 1- 18 所示。

图 1- 18   选择“复位成缺省值”

这里的介绍比较简单,还有很多其他的用法,你都可以试试。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9116427/viewspace-2222457/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9116427/viewspace-2222457/

Portal开发与配置技巧集锦(一)相关推荐

  1. Unity 4.x游戏开发技巧集锦(内部资料)

    2019独角兽企业重金招聘Python工程师标准>>> Unity 4.x游戏开发技巧集锦(内部资料) 淘宝书店地址:http://item.taobao.com/item.htm? ...

  2. Unity 游戏开发技巧集锦之创建透明的材质

    Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...

  3. Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

    Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...

  4. Unity 游戏开发技巧集锦之创建自发光材质

    Unity 游戏开发技巧集锦之创建自发光材质 创建自发光材质 自发光材质(self-illuminated material)是指自己会发光的材质.生活中与之相似的例子,就是液晶显示屏上显示的信息,文 ...

  5. unity 发光字体_Unity 游戏开发技巧集锦之创建自发光材质

    Unity 游戏开发技巧集锦之创建自发光材质 Unity游戏开发技巧集锦教程大学霸内部资料 创建自发光材质 自发光材质(self-illuminated material)是指自己会发光的材质.生活中 ...

  6. Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动

    Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...

  7. ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机

    ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现 ...

  8. Unity游戏开发技巧集锦2.1.3实现效果

    Unity游戏开发技巧集锦2.1.3实现效果 将此脚本加到Camera对象上,选中此对象,即可查看对象上此脚本组件中的各项属性,如图2-4所示. 图2-4  对象脚本组件里的各项属性          ...

  9. Unity 4.x游戏开发技巧集锦第2章摄像机的应用

    Unity 4.x游戏开发技巧集锦第2章摄像机的应用 作为游戏开发者,千万不要忽略了摄像机(Camera)的重要性.毕竟玩家是通过摄像机,才看到了游戏的视图.本章将介绍一些摄像机的常见应用.本文选自& ...

最新文章

  1. VUE的element-ui的使用
  2. 使用C#开发交互式命令行应用
  3. 前端学习(1385):多人管理项目5抽离
  4. java数据包解析_请教http请求数据包如何解析 重组
  5. 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
  6. 太阳能充电调节代码_永不插电!这款薄膜太阳能动力汽车可连续行驶一个月
  7. c语言位运算知乎,07-C语言运算符-指趣学院
  8. APUE代码运行环境的搭建
  9. ICMP协议解析与实战
  10. (附源码)基于Python音乐分类系统 毕业设计 250858
  11. mcinabox运行库下载_MCinaBox运行库下载
  12. Python获取法定节假日
  13. 你觉得自己牛逼在哪儿?
  14. 加州大学欧文分校 计算机专业,加州大学欧文分校计算机专业申请条件(附案例)...
  15. Word 表格顶页 处理办法
  16. GDUFS 2018信息学院程序设计新手赛(正式赛)Java版题解
  17. 你看到的好片子,原来藏着这么多黑科技……
  18. IT男拒绝枯燥系列之《漫画电子电路》!
  19. 设计模式学习笔记(八):建造者模式
  20. 怎么在线对视频进行压缩?

热门文章

  1. KEIL中文字符乱码
  2. Vue:将Excel导入的数据中文key转换为英文
  3. 为什么全网通手机联通显示无服务器,什么是全网通手机,同时支持移动联通电信就是?没那么简单...
  4. 神舟微型计算机 mini pcs-b 更换系统
  5. 外卖红包小程序是什么,怎么搭建?
  6. 计算机操作系统-进程的描述与控制
  7. matlab中进行太阳能电池模型,基于Matlab╱Simulink的太阳能电池特性仿真
  8. python开发基础2.23技能实训答案_【23】Python基础笔记2
  9. iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”_前进的火车_新浪博客...
  10. XJTU大计基作业-1(第7周)