Liferay一直在用到现在很多年了,总感觉自己记录的东西太少,现在觉得还是要记录下 方便以后查看了。废话不多说了。
- 需求:自定义登录实现,Liferay原本的登录界面之类的不美观,所有想要自定义成自己想要的风格
- 环境: Lliferay6.2G6,开发框架SpringMVC
- 预览:
-
- 实现思路:自写一个Portlet,来控制登录。SpringMVC-portlet的开发我就不做介绍了,这个在网上有很多例子。直接上代码。
控制层关键代码:
/*** * 登录 * @param actionRequest * @param actionResponse */ @ActionMapping(params = "action=loginCustom") public void loginCustom(ActionRequest actionRequest,ActionResponse actionResponse,Model model){ String login = ParamUtil.getString(actionRequest, "login"); String password = ParamUtil.getString(actionRequest, "password"); boolean authenticated = false; String feedbackMessageId = "fals"; try { LoginUtilCompat.invokeLogin(PortalUtil.getHttpServletRequest(actionRequest), PortalUtil.getHttpServletResponse(actionResponse), login, password, false, CompanyConstants.AUTH_TYPE_SN); authenticated = true; actionResponse.sendRedirect("/group/-2/-1");//登录后想要跳转的地址,Liferay Portal有关于登录成功后跳转的配置,本例中我直接写固定了 return; } catch (AuthException e) { feedbackMessageId = "authentication-failed"; } catch (CompanyMaxUsersException e) { feedbackMessageId = "unable-to-login-because-the-maximum-number-of-users-has-been-reached"; } catch (CookieNotSupportedException e) { feedbackMessageId = "authentication-failed-please-enable-browser-cookies"; } catch (NoSuchUserException e) { feedbackMessageId = "authentication-failed"; } catch (PasswordExpiredException e) { feedbackMessageId = "your-password-has-expired"; } catch (UserEmailAddressException e) { feedbackMessageId = "authentication-failed"; } catch (UserLockoutException e) { feedbackMessageId = "this-account-has-been-locked"; } catch (UserPasswordException e) { feedbackMessageId = "authentication-failed"; } catch (UserScreenNameException e) { feedbackMessageId = "authentication-failed"; } catch (Exception e) { e.printStackTrace(); } try { //传参数 页面对应 <%=portletSession.getAttribute("feedbackMessageId");%> actionRequest.getPortletSession().setAttribute("feedbackMessageId", feedbackMessageId, PortletSession.PORTLET_SCOPE); actionResponse.sendRedirect("/"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
接下来需要有两个配置(重要)
- 在liferay-portlet.xml中加入<private-session-attributes>false</private-session-attributes>
- 在Liferay-portal目录下面 portal-setup-wizard.properties 加入属性 session.enable.phishing.protection=false
页面代码我就不贴了,每个人实现的界面不一样,
界面上定义 获取登录URL
<portlet:actionURL var="loginCustom"> <portlet:param name="action" value="loginCustom"/> </portlet:actionURL>
<form id="myForm" action="${loginCustom}" method="post">
//to do
</form>
相关推荐
在本文中,我们将深入探讨如何在Liferay 7.0中实现自定义登录实例。Liferay是一款开源的企业级门户平台,提供了丰富的功能和强大的定制能力,使得开发者可以根据具体需求进行扩展。自定义登录界面和流程是提升用户...
总的来说,`custom-login-portlet`项目是一个典型的Liferay自定义Portlet开发案例,涉及到Java编程、前端设计、portlet生命周期管理以及安全性考量。通过这个项目,开发者可以深入了解Liferay的插件体系和自定义功能...
通过本文,我们了解了Liferay与微信集成实现自动登录的流程,以及自定义登录模块的关键步骤。实际操作时,开发者需要具备Liferay插件开发、OAuth2.0理解和Java编程基础。通过这样的集成,不仅可以提升用户体验,还能...
【Liferay 门户集成CAS实现单点登录与应用系统集成】是将开源门户平台Liferay与中央认证服务(CAS)相结合,以实现用户在多个应用系统间的统一登录体验。Liferay是一个基于Java的企业级门户解决方案,它具备强大的...
5. **自定义和扩展**:Liferay和CAS的集成还支持自定义和扩展,比如自定义CAS的登录页面、添加额外的认证方式或者对特定用户组进行特殊处理。 SSO的实现不仅可以提升用户体验,还有助于提高安全性,因为用户不需要...
首先,Liferay的插件开发是基于其插件开发框架(Plugin SDK)进行的,它为开发者提供了便捷的工具和结构来创建自定义功能。这些插件可以是门户布局、portlet、主题、钩子、服务包等,极大地增强了Liferay的功能和...
在Liferay自定义片段中,HTML用来定义用户界面的结构和样式。开发者可以利用HTML标签、属性以及Liferay提供的API来创建交互式的用户界面。 通过学习和使用“liferay-custom-fragments”项目,开发者可以深入理解...
### 单点登录(SSO)在Liferay中的实现 单点登录是一种身份验证机制,允许用户在多个应用系统之间只需进行一次登录就能访问所有相关联的应用系统,而无需重复登录。在Liferay中,单点登录主要通过以下几种方案实现...
1. **扩展框架**:Liferay Ext基于Maven构建,它提供了一个框架,开发者可以在其中添加自定义的类加载器,使得新的类和配置可以优先于默认的Liferay类加载,实现对核心功能的扩展。 2. **portlet开发**:通过...
JFC(Java Foundation Classes)和Swing是Java GUI编程的重要工具,Liferay允许开发者使用Swing组件创建自定义portlet,以提供丰富的用户交互体验。通过这份文档,我们可以深入学习Swing组件的使用,从而更好地设计...
Liferay自定义查询的实现主要涉及以下几个方面: 1. **查询构建器**:Liferay提供了图形化的查询构建器,用户可以通过选择表、字段和操作符来创建查询。无需编写任何代码,用户可以直观地定义查询条件,如等于、不...
本书详细阐述了Liferay在集群环境下的配置和优化,包括数据同步、负载均衡以及故障转移策略,帮助读者实现Liferay系统的稳定运行。 4. 《Liferay Portal 7.x Theming》 对于希望自定义Liferay外观的设计师或开发者...
《Liferay User Interface Development》关注的是Liferay的用户界面设计与实现,涵盖主题定制、JavaScript API的使用、响应式设计等内容,帮助开发者创建出美观且用户体验良好的Liferay应用。 中文文档部分可能包含...
- **主题更换:**通过Liferay的外观管理功能,用户能够自定义网站的主题和布局,实现个性化设计。 - **内容管理系统:**Liferay内置的CMS允许用户编辑和发布网页内容,支持文档管理、版本控制等特性,简化了网站内容...
通过上述内容的整理和总结,可以看出文档主要介绍了Liferay开发的基础概念,包括Liferay的版本信息、Portlet开发、主题和布局模板的自定义、插件SDK和Liferay IDE的使用,以及如何配置开发环境。同时,也涉及了...
此外,还可以尝试自定义Liferay的主题,以满足特定的UI需求。 六、资源和社区 Liferay拥有活跃的开发者社区,提供了丰富的在线资源,如官方文档、论坛、博客和GitHub上的源码。这些资源可以帮助你解决在学习过程中...
在实际应用中,Liferay的自定义开发是必不可少的。开发者可以通过编写Java Portlets、JSR-286 Portlets或者Freemarker模板来扩展功能。同时,Liferay提供了服务建模工具,可以方便地生成服务API,简化开发过程。对于...
Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...
Liferay内置了大量的预构建功能,如用户管理、用户组和角色管理,简化了登录和其他权限控制的实现。 为了开始使用Liferay,开发者需要确保安装了必要的软件。首先,文档会指导你下载Liferay的相应版本,接着是JDK ...