`
fly_ever
  • 浏览: 152776 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

liferay的权限实践

阅读更多
Liferay的权限结构(liferay版本4.3.3)
Liferay能对每个具体的portlet进行控制,也能对portlet内的实体对象进行权限控制。
Liferay中进行管理的资源分为两种:
Portlet资源和model资源。
通过liferay的管理portlet就可以可视化的实现portlet的权限管理。
如果要对portlet内的实体对象model进行管理,需要进行一些程序实现。
现以一个具体的实例来说明如何实现portlet内的model资源的权限管理:
一个报表的portlet,其中包含一个具体的报表列表。我们需要对每个具体报表进行权限控制。
建表
首先报表需要保存在数据库中,为报表建立报表数据库。根据liferay的开发过程,步骤如下:
在ext-impl文件夹下,新建service.xml,该xml文件描述报表数据表的字段信息,并指定对应的java对象。设定<entity name="AIReports" local-service="true">
进入ext-impl目录,执行命令:ant build-service。
自动生成建表的sql语句,在ext\sql\portal-tables.sql中。Copy该语句并执行,生成对应的表。
之后,liferay自动生成相应的java类和接口,根据xml文件的描述不同,生成的类会有差别,主要有如下类:
实体类,Reports
持久类,ReportsPersistence,ReportsPersistenceImpl,ReportsUtil。
LocalService类,ReportsLocalServiceImpl,ReportsLocalService,
ReportsLocalServiceUtil。.
Service类,ReportServiceImpl,ReportsService,ReportServiceUtil。
配置权限
针对portlet和报表对象,进行权限声明。
在ext-impl\resource-actions目录下,建立report.xml文件。
在该文件中,配置resource-action-mapping中的portlet-resource和
model-resource.。
并向系统指明该文件的位置。在ext-impl\portal-ext.properties中指明属性resource.actions.configs=
resource-actions/default.xml,resource-actions/default-ext.xml。
并在resource-actions/default-ext.xml文件中,指明
<resource file="resource-actions/yjreport.xml" />
实现具体权限
根据model-resource中声明的权限,在类中具体实现。针对声明的ADD,DELETE和PERMISSIONS权限,
在类ReportLocalServiceImpl中实现相应的方法。
进入ext-impl目录,执行ant build-service,为实现的方法生成对应的接口和工具类静态方法
权限验证
当权限实现后,会在操作时进行验证。验证分两部分,前台页面的按权限展现和后台执行功能时的验证。
并且对于portlet得验证,可以直接调用liferay已经实现的权限助手类,对于portlet内的model资源,则需要自己实现权限助手类
ReportPermissions。
权限助手类包含两个方法,check和contains。
check方法适用于后台验证,contains方法适用于前台验证。
前台展现时的验证方法:在jsp页面中,如果要显示对应功能的展示按钮或链接时,调用权限验证的方法contains()。
后台实现功能时验证:ReportsServiceImpl类中的每个方法都调用相应的ReportsLocalServiceUtil中的方法,并且在调用之前执行验证方法check(),以实现功能的验证。

分享到:
评论
3 楼 fly_ever 2008-08-12  
实现具体权限,应该理解为实现具体的功能,这些功能是与权限对应的。这些功能主要是在通过权限验证之后进行调用。
因此具体点,比如对应添加的权限,则具体实现添加的功能。
2 楼 眼镜蛇 2008-07-31  
在 实现具体权限 那块.

应该怎么实现呢.能具体说明一下吗
1 楼 luozhilzh 2008-01-23  
不知道是否有liferay配置到weblogic上的参考资料啊?
我的msn:luozhilzh@hotmail.com

相关推荐

    liferay 权限文档

    在“liferay.zip”中,可能包含的是与权限相关的示例代码、配置文件或者演示实例,帮助开发者更深入地理解Liferay权限系统的工作原理和实践方法。解压后,可以查看具体文件了解如何在实际开发中应用这些概念。 总之...

    liferay详细讲解 liferay项目完全讲解

    4. **权限和角色**:Liferay有强大的权限系统,可以精确控制不同用户组对内容和功能的访问。 5. **国际化和多语言支持**:Liferay支持多种语言,对于跨国企业尤其重要。 6. **服务和API**:Liferay提供大量的服务...

    liferay_permissions.rar_liferay

    "liferay_permissions.rar_liferay"这个压缩包可能包含的就是Liferay权限系统的数据库结构图,这对于理解Liferay的权限管理机制至关重要。 Liferay的权限系统基于Spring Security(原Acegi Security)框架,采用ACL...

    Liferay合集.zip

    中文文档部分可能包含了Liferay的基础教程、最佳实践、常见问题解答等,这些文档对于中文环境下的学习者来说尤其方便,能够快速理解Liferay的关键概念,解决在使用过程中遇到的问题。 通过学习这些资料,开发者可以...

    LIFERAY的ppt课件

    **Liferay简介** Liferay是一款开源的企业级门户平台,它提供了强大的内容管理、...通过深入学习和实践,Liferay初学者可以逐渐掌握这个强大的门户平台,并能灵活运用到实际项目中,为企业带来高效、协作的工作环境。

    liferay 资料

    - Liferay 提供了完整的用户管理和权限控制,支持多租户架构,使得多个组织可以在同一平台上独立运作。 - 它的界面设计是基于 Web 服务的,允许通过 Ajax 技术实现动态交互。 2. **portlet 开发**: - Portlet ...

    liferay相关的代码

    通过深入源码,我们可以学习到如何在Liferay中创建portlet、theme、布局、服务等组件,以及如何处理权限、国际化和缓存等问题。此外,Liferay还使用了Hibernate进行持久化,了解这部分源码能帮助我们更好地进行...

    liferay教程

    Liferay是一款开源的企业级门户平台,它提供了丰富的功能和高度可定制性,广泛应用于构建企业内部和外部的网站...通过深入学习和实践,你将能够熟练地运用Liferay搭建和管理企业级门户,实现高效的信息共享和协同工作。

    liferay 文档与例子

    5. **安全与权限管理**:Liferay的权限系统是其强大功能之一,文档可能包含如何定义角色、控制访问权限以及实施工作流审批等内容。 6. **社交协作功能**:Liferay内置了丰富的社交协作特性,如博客、论坛、文档库等...

    liferay开发文档集合

    1. **《liferay-4-administration-guide.pdf》** - 这份文档主要讲解了Liferay Portal的系统管理,包括服务器配置、用户管理、权限设置、性能优化等方面。对于那些负责维护Liferay实例的管理员来说,这是必备的参考...

    Liferay portlet 工程示例代码

    Liferay Portlet工程示例代码提供了开发者们一个深入理解并实践Liferay Portal平台上的portlet开发的宝贵资源。Liferay Portal是一款开源的企业级门户系统,它允许用户创建、管理和集成各种Web应用程序,而portlet...

    liferay portal 开发实例

    7. **资源权限**:Liferay支持细粒度的资源权限控制,开发者可以为portlet定义不同级别的访问权限。 8. **主题和布局**:Liferay提供了一套强大的主题和布局系统,开发者可以自定义portlet的外观和页面布局。 9. *...

    LIferay6开发书籍

    其次,《Liferay 用户开发接口》深入解析了Liferay中的用户管理和权限控制机制。这包括用户账户的创建、管理,角色和组的设定,以及基于角色的访问控制(RBAC)。开发者将了解到如何定制用户界面,实现个性化用户...

    liferay6.1开发学习

    - 学习 Liferay 的安全模型,包括角色、权限和访问控制。 - 掌握 Liferay 社区和工作流的实现,如何创建用户组、社区、论坛等社交功能。 - 实践 Liferay 的数据集成,例如与外部系统的数据同步。 - 熟悉 Liferay 的...

    liferay6.2开发指南.pdf

    本教程旨在引导开发者了解 Liferay 6.2 的开发环境和最佳实践,无论是初学者还是有经验的开发者都能从中获益。它不仅涵盖了基础概念,还深入探讨了高级特性和技术。 #### 1-2 节 为 Liferay 开发应用程序 Liferay ...

    Liferay+Portal+5[1].2+Systems+Development.pdf

    6. **安全与权限**:讨论Liferay的安全模型,包括用户认证、授权以及如何设置角色和权限。 7. **集成与API**:讲解如何与其他系统(如内容管理系统、CRM等)集成,以及如何利用Liferay的API进行扩展。 8. **性能...

    liferay 6.2开发指南+用户手册

    Liferay的Document and Media Library提供了文档存储、版本控制和权限管理。开发者可以通过API集成其他内容源,或者扩展其功能。 8. **用户和角色管理** Liferay支持复杂的用户、组和角色管理。开发者可以通过...

    liferay in action.pdf

    - **权限管理**:讲解如何设置合理的权限体系,确保数据安全。 - **工作流设计**:指导如何设计高效的工作流程以提升生产力。 #### 五、第三部分:定制Liferay **8. Hooks** - **Hook机制**:介绍如何使用Hook来...

    liferay development 中文

    这涉及到缓存策略、数据库查询优化、页面加载速度提升等方面,开发者需要熟悉Liferay的性能调优工具和最佳实践。 通过深入学习以上知识点,并结合《Liferay Custom Development 中文》提供的指导,开发者能够熟练地...

    liferay6.2开发完全指南

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

Global site tag (gtag.js) - Google Analytics