`
thinkforever
  • 浏览: 14613 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Liferay 登录后的跳转

阅读更多
实现方式:通过EXT环境定制,增加一个针对login的PostAction

第一步:在ext中创建以下java类:
package com.liferay.portal.events;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.liferay.portal.kernel.events.Action;
import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.struts.LastPath;
import com.liferay.portal.util.WebKeys;

public class CustomLoginPostAction extends Action {

	@Override
	public void run(HttpServletRequest req, HttpServletResponse res)
			throws ActionException {
		try {
			HttpSession ses = req.getSession();
			
			// To manually set a path for the user to forward to, edit
			// portal.properties and set auth.forward.by.last.path to true.

			Map params = new HashMap();

			//params.put("p_l_id", new String[] {"PRI.3.1"});
			//params.put("p_l_id", new String[] {"PUB.1.1"});

			LastPath lastPath = new LastPath("", "/group/cw/1", params);

			ses.setAttribute(WebKeys.LAST_PATH, lastPath);
		}
		catch (Exception e) {
			throw new ActionException(e);
		}
		
	}
}

以下这行代码指定跳转的目标url,此url可以根据自己的规则动态确定,例如根据用户所在组织,所在用户组……
LastPath lastPath = new LastPath("", "/group/cw/1", params);


第二步:
更改ext中的portal-ext.properties文件,增加以下两行:
auth.forward.by.last.path=true
login.events.post=com.liferay.portal.events.LoginPostAction,com.liferay.portal.events.CustomLoginPostAction

第三步:
ext环境中 ant deploy
分享到:
评论
3 楼 thinkforever 2010-08-06  
Ljs_software2008 写道
在这个地方,不新建一个针对登录的处理类,直接修改他原来的源码可以吗?

直接修改当然可以,不过官方不推荐。
2 楼 Ljs_software2008 2010-08-06  
我这里处理之后,怎么会报“错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向过多。” 这个错误?
1 楼 Ljs_software2008 2010-08-05  
在这个地方,不新建一个针对登录的处理类,直接修改他原来的源码可以吗?

相关推荐

    Liferay5.2.3和CAS配置成SSO

    - 登录Liferay,如果配置正确,你应该能够跳转到CAS登录页面进行身份验证,之后无需再次登录就能访问其他受CAS保护的应用。 5. **安全性考虑**: - 为了保障系统安全,应定期更新证书和密码,避免使用默认值。 -...

    Liferay Portal二次开发指南

    2. Hook实例:假设需要在用户登录后自动跳转到特定页面,可以通过开发Login Hook来实现这一功能,覆盖默认的登录后逻辑。 3. Theme实例:设计一个响应式主题,调整CSS样式,使Liferay门户在不同设备上具有良好的显示...

    liferay标签

    `<liferay-ui:success>`标签用于展示成功的操作消息,通常在用户执行完一个操作后显示。 #### 2.6 Liferay-UI:Error `<liferay-ui:error>`标签用于显示错误信息,帮助用户识别和解决问题。 #### 2.7 Liferay-UI:...

    liferay集成struts2

    - `<result>`:结果配置,指定了成功或失败后的跳转页面。 示例配置: ```xml <result name="success">/WEB-INF/jsp/newjsp/edit.jsp <!-- 可以添加更多的Action --> ``` 通过以上步骤,可以在Liferay...

    Liferay_SSH_开发案例

    - **定义页面流**:定义portlet的视图页面(JSP)和Action间的流程,比如用户提交投诉后跳转到确认页面。 - **定义页面布局**:根据设计,定义portlet在门户页面上的位置和布局,可以在Liferay控制台或者通过布局...

    liferay ssh

    - **利用ServiceBuilder自动生成持久化层和服务层的类**:运行Ant任务后,ServiceBuilder会根据service.xml文件中的配置自动生成DAO接口和实现类、服务接口和实现类等。 ##### 3. 配置一个portlet - **定义...

    Liferay使用笔记

    ### Liferay 使用笔记知识点梳理 #### 一、Liferay 基础操作 **1. 用户管理** - **增加用户**: 在 Liferay 中可以通过控制面板的“用户”部分增加新用户。通常需要填写用户的姓名、邮箱地址以及密码等基本信息。 ...

    liferay-google-apps-for-work-sso:允许用户使用 Google Apps for Work 登录的 Liferay 插件

    3. **测试和调试**:一旦配置完成,需要进行测试,确保用户能成功地通过 Google 账户登录到 Liferay,并且在两个平台之间可以顺畅地跳转。 这个插件的源代码位于 "liferay-google-apps-for-work-sso-master" 文件中...

    liferay-apps-content-targeting-referer:Liferay 受众定位自定义规则

    这个自定义规则的创建,意味着管理员可以设定,当用户从特定网站或页面跳转到 Liferay 站点时,展示特定的内容或应用。 描述中提到的 "测试 Http referer 标头是否包含特定字符串" 是自定义规则的具体实现方式。...

    lifery6.1+cas初始化环境搭建及门户解决方案

    单点登录(SSO)是一种安全的登录机制,允许用户在一次登录后就可以访问多个应用系统而无需再次登录。CAS通过中心认证服务实现这一功能。 **2.1.2 技术实现机制** CAS的核心技术机制包括: - **Ticket Granting ...

    Portlet开发技术解决方案.pdf

    - **Portal Server定义**:Portal Server指的是一个Web-based系统,它提供了个性化设置、单点登录等功能,并能够整合来自不同源的信息,为用户提供一个统一的信息展示平台。 - **Portal页面结构**:每个Portlet可以...

    简单的Struct2-portlet+Demo

    在Portlet开发中,portlet与传统的Web应用有所不同,它运行在portlet容器中,如Liferay或WebSphere Portal。Portlet有自己的生命周期,包括初始化、渲染、事件处理等阶段。Struts2 Portlet插件则允许开发者使用...

    Struts2.3.16.3官方实例,4个

    开发者可以通过这个实例学习如何配置Struts2的核心文件,如web.xml和struts.xml,以及如何处理表单提交、页面跳转、异常处理等常见Web开发任务。 2. **struts2-portlet**:此实例展示了Struts2与portlet技术的集成...

    PortletWork-开源

    - **拦截器**:可以定义一系列拦截器,对portlet的动作执行前后进行预处理和后处理,实现如事务管理、权限检查等通用功能。 - **结果处理**:不同的结果类型可以决定portlet如何响应用户操作,比如跳转到一个新的...

Global site tag (gtag.js) - Google Analytics