`
hatlar
  • 浏览: 23434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

liferay开发小总

阅读更多

通过近一个半月的学习,对liferay的整体开发结构有了初步了解.liferay的开发主要分为:

 1、 应用组件开发。其中应用组件中包含功能开发、显示内容开发(portlet的JSP页面的内容显示部分),显示样式开发(portlet内容的显示样式)。功能开发主要设计到数据库操作(查询、删除、增加等)、portlet的权限开发。

2、主题开发(整个页面的显示效果)

3、布局开发

4、权限开发

 

真不好意思,上次对liferay仅仅写了简略的概括.后来发现那么多人浏览,现在想来真是对不住大家.

我现在把权限开发的部分写出来,希望对大家有帮助.

权限开发有四个步骤:

          1、定义所有的资源和权限

          2、添加资源

          3、把资源和必须的许可联系起来

          4、返回资源前检查权限

其核心是资源的添加,资源的删除和权限的检查。

其中用的核心代码:

添加资源:使用的的类是ResourceLocalService,方法是addResource(String companyId,String usrId,String name,String primkey,boolean  portletActions,boolean addCommnunityPermission,boolean addGuestPermission)

   其中如果要能知道方法中各个变量的数据来源,那对整个权限开发有很大的帮助。首先是userId的来源,它是从PrincipalBean获得的,如果你看过PrincipalBean的源代码,你可以看到getUser()方法,所以你可以在ServiceImpl中获得userId,并且把它作为写入到addEntry()(可以自己定义方法名)中,添加资源的功能一般是在localServiceImpl中实现的,而companyId的获得经过一系列的过程,可以用一下数学的表达方式来表示:

User user = userPersistence.findByPrimaryKey(userId);其中userId已经在上一级获得

companyId=user.getCompanyId();

userId=user.getUserId();(不知道得到的userId和作为参数引入的userId是否一样,不过通过user获得userId作为addResource()的参数肯定不错)。

而另一个重要参数groupId的获得要比这个复杂些。

long groupId=PortalUtil.getPortletGroupId(piId)

pild=layout.getPild()

layout=themeDisplay.getLayout()

themeDisplay=(ThemeDisplay)request.getAttribute(WebKey.THEME_DISPLAY)

其中layout,themeDisplay,plid是在ation中获得,并把plid作为参数传递给serviceUtil的addEntry()方法 .

通过一级一级的传递,在localService中通过PortalUtil.getPortletGroupId(plid)获得,然后作为addResource的参数,实现把资源添加到数据中。其中companyId也是在这个阶段获得的。

另外portalAction,addCommunityPermission,addGuestPermission的数值是自己定义的,不是从系统中获得的。

删除资源deleteResource(
   CompanyId(), name,  ResourceImpl.SCOPE_INDIVIDUAL,EntryId());

其中companyId和添加资源用到的companyId是一样的。

 权限检查

permissionChecker.hasPermission(groupId,name,PrimaryKey(), actionId);

其中groupId和添加资源中的groupId是一样的,name是实体类的类名,primaryKey是实体的关键字,actionI对资源的操作。

先写这么多

 

分享到:
评论
1 楼 lxtkong-029 2009-07-01  
不错!顶

相关推荐

    liferay开发文档集合

    《Liferay开发文档集合》是针对企业级门户平台Liferay的一系列技术指南,涵盖了从基础安装到高级定制的全方位知识。这些PDF文档旨在帮助开发者、系统管理员和IT专业人员更好地理解和利用Liferay Portal来构建和管理...

    liferay开发实例

    liferay开发liferay开发liferay开发liferay开发

    liferay开发文档.pdf

    liferay开发文档.pdf Liferay 是一个基于Java的开源企业门户平台,提供了强大的门户解决方案。下面是根据给定的文件信息,生成的相关知识点: Liferay portal的安装与使用 Liferay portal的安装是实现门户解决...

    LIferay6开发书籍

    总的来说,这套《Liferay6开发书籍》对于想要精通Liferay开发的人员来说是宝贵的资源。无论你是初学者还是有经验的开发者,都可以从中受益,提升自己在Liferay平台上的设计和开发技能。通过学习这些内容,你将能够...

    Liferay开发文档整理.pdf

    通过上述内容的整理和总结,可以看出文档主要介绍了Liferay开发的基础概念,包括Liferay的版本信息、Portlet开发、主题和布局模板的自定义、插件SDK和Liferay IDE的使用,以及如何配置开发环境。同时,也涉及了...

    liferay的开发文档

    本压缩包包含了四个重要的Liferay开发文档,旨在帮助开发者深入理解和掌握Liferay的使用与开发技巧。 文档一:《Liferay Portal Developer's Guide》 这份文档详细介绍了Liferay Portal的开发流程,包括portlet的...

    Liferay入门帮助文档(Liferay开发指南)

    Liferay入门帮助文档是针对Liferay开发的一份指南,它主要涵盖了如何开始使用这个全面的门户解决方案。Liferay是一个基于Java Enterprise Edition (J2EE) 的应用,它整合了多种技术,如EJB (Enterprise JavaBeans) ...

    liferay6.2开发指南.pdf

    【Liferay 6.2 开发指南】 Liferay 6.2 是一个开源的企业级门户平台,它提供了丰富的功能和高度可扩展性,适合构建企业内部或外部的协作、信息共享和业务应用集成的网站。本开发指南将帮助开发者深入理解 Liferay ...

    liferay开发小记---开发环境的搭建

    本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...

    7z压缩,三合一-LifeRay-开发参考手册&二次开发指南&4.3中文开发指南

    1. **LifeRay开发参考手册(温兵)**:这是一部由温兵编写的关于LifeRay开发的参考书籍,通常这类手册会包含LifeRay的基本架构、API介绍、部署流程、插件开发等关键信息。温兵可能是一位在LifeRay社区有影响力的专家...

    liferay 6.0 开发指南

    ### Liferay 6.0 开发指南核心知识点详解 #### 一、引言与核心技术 在《Liferay 6.0 开发指南》中,首先介绍了Liferay 6.0的核心技术及其开发策略。Liferay是一款强大的开源门户平台,支持企业级应用的构建与部署...

    liferay portal开发大全

    开发者可以利用Eclipse、IntelliJ IDEA等IDE进行Liferay开发,这些IDE有专门的Liferay插件,能简化portlet和主题的创建。此外,了解如何使用Liferay Workspace和Maven进行项目管理也是提升开发效率的关键。 6. **...

    liferay开发环境搭建

    【Liferay 开发环境搭建详解】 Liferay 是一个开源的企业级门户平台,它提供了一整套工具和服务,用于构建和管理数字体验。本教程将详细解释如何在Windows环境下搭建Liferay的开发环境,以进行二次开发。 首先,...

    liferay 6.2开发指南+用户手册

    Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...

    liferay portal 开发实例

    在这个开发实例中,我们将深入探讨四个Liferay Portal MVC(Model-View-Controller)应用的实践案例,这些实例可以帮助开发者更好地理解如何在Liferay环境中进行portlet开发。 首先,让我们了解MVC模式在Liferay中...

    liferay6中文开发文档(开发手册、二次开发指南、代码研读、开发环境配置等)

    liferay6中文开发文档 包括: Liferay6开发者手册V1.0.doc Liferay+6.0.5开发指南.docx LiferayPortal二次开发指南.pdf Liferay代码研读.pdf liferay-技术文档.doc ...Liferay开发环境配置说明文档.pdf

    liferay6.2开发完全指南

    1. **认识Liferay开发平台的价值** - **关于本教程**:教程的目标是帮助开发者了解Liferay的开发潜力,并提供实践指导。 - **开发应用程序**:Liferay支持创建Portlets,这是其核心功能,用于展示各种交互式组件。...

Global site tag (gtag.js) - Google Analytics