1.2 获取登录用户信息
1.2.1 问题描述
获得登录用户对象,并取出用户名、注册邮箱等用户信息无论在主题与皮肤开发,还是Portlet开发中都经常会用到。如何取出用户信息?我们通过配置加编码的方式实现:
1.2.2 解决方案
第一种方法:标签+代码方式:
首先修改
IBM/WebSphere/wp_profile/installedApps/[cellname]/wps.ear/wps.war/themes/html/ThemeName 目录下的Default.jsp文件:
1 将<%@ page session="false" buffer="none" %>改成<%@ page session="true" %>
导入ibm user的jar包,这个包的名字是wp.user.api.jar,
可以在IBM/WebSphere/PortalServer/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();
}
%>
第二种方法:
<%@ page import ="com.ibm.portal.portlet.service.PortletServiceHome" %>
<%@ page import ="com.ibm.portal.portlet.service.PortletServiceUnavailableException" %>
<%@ 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("portletservice/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 );
%>
添加新评论0 条评论