`
pikachu
  • 浏览: 119976 次
社区版块
存档分类
最新评论

Howto: 如何使用Liferay权限配置

阅读更多
当前的Liferay权限结构是从4.0版本开始的。jsr168中基于role的权限设计只解决了开发技术层面,并没有和实际的应用关联起来。在Liferay中权限设计有很大的扩展,并可在多个层次进行配置。

首先要解释的是Liferay的权限模型。首先看一下Liferay的定义
A permission is defined as an action acting on a resource
在Liferay中,权限作用是判断当前用户是否允许在Resource上进行某项操作(action)。


Resource代表着一个个的可操作的实体。在Portal系统中,最直观的Resource就是一个个的Portlet。但是由于应用的原因,在Portlet下还可以根据应用的功能再细分,最典型的就是Message Board Portlet下还分Category和Message两类Resource。这些Resource是很直观的。此外还存在一些特殊的Resource可以控制,比如每张Page也是Resource。另外由于在Liferay中可以配置多个Community,每个Community都可以多次放置同一种Portlet作为多个Instance的,所以对于Resource又附加了Scope的概念。Resource有三种Scope:Enterprise、Community和Individual。Enterprise代表整个Portal系统中的一类资源,Community需要指明是哪个Community下的一类资源,Individual则是独立的Resource。



举个例子,我们要定义一个Permission
View+Message Board Topic / Enterprise
上面的定义说明,“查看当前Portal系统中任一个Message Board的Topic”。
再举个例子
Update Message Board Topic / "Developer" Community Scope
上面的定义说明,“修改 Developer 这个 Community 下的任一个 Message Board Topic ”。

在Liferay Portal中所有Portlet都会有默认的View/Configuration Action。其他的Resource和Action都需要开发人员预先设计,并在代码中调用PermissionChecker检验当前用户是否拥有权限。这是后话,今后在开发相关的文章中再讨论。

如果理解了上面关于Resource、Scope和Action,接下去我们就可以讨论Liferay中如何进行设置,将Permission和User联系起来从而将权限赋予某人。

首先说最简单的Individual类型的Resource的配置方法。如果以管理员身份登录系统,那么在任何一个portlet的右上角都有一个齿轮图标,点击该图标后选择Permissions标签就可进行该portlet得配置。

假设我们以管理员身份登录后切换到support Community,对Message Boards权限进行配置。
新出现的页面第一排中如果选择Users、Organizations、Locations、User Groups,下方还将出现Current和Available。

Current中是当前已经配置的结果,Available是可供选择的人员、机构的列表。
我们选择User->Available->Test HKG 1上打钩。点击Update Permissions。将所有权限都选择到Current下。配置后再查看Users->Current,现在Test HKG 1已经在Current下了。
使用test.hkg.1@liferay.com账户登录系统,可以看到Support下的Message Boards上出现了配置图标。而且有Add Category按钮。

然后看一下如何配置其他scope的权限。
首先以管理员身份登录系统,将Enterprise Admin添加到页面上。选择Roles,添加一个Role名称为SupportMBAdmin,选择Delegate。

在portlet列表中选择Message Boards,随后将Configuration后的Scope选择为Community,Next->Available->选择Support->Finish。随后使用SupportMBAdmin的assign,将Test HKG 2选中。
使用test.hkg.2@liferay.com账户登录系统,可以看到Support下的Message Boards上出现了配置图标。

hkg.1和hkg.2有什么区别呢?
hkg.1获得的是Individual的Resource。只有这个Portlet是可以允许他配置的。
hkg.2获得的是support Community下任一个Message Boards的配置权限。

最后要说明的是,个人页面上的Portlet的Permission配置是没有意义的。因为其他人不能查看你的页面,也就无法配置了。
分享到:
评论
3 楼 devilbaby 2007-01-27  
利用liferay对权限开发也比较容易,写法也很固定,大家可以试试
2 楼 devilbaby 2007-01-27  
写得不错,不过liferay的权限更加强大,还有对model的权限配置,精确到单条记录
1 楼 goby2008 2007-01-21  
值得学习

相关推荐

    Howto: 在Tomcat上如何集成Pentaho和Liferay

    5. **权限和安全设置**:确保Pentaho和Liferay之间的身份验证和授权设置一致。这可能涉及到配置SAML、LDAP或者自定义的安全策略,以便用户可以通过Liferay的登录信息访问Pentaho。 6. **性能优化**:根据需求调整...

    配置liferay开发环境说明

    ### Liferay开发环境配置知识点详解 #### 一、概述 Liferay是一款开源的企业级门户平台,支持企业内外部网站、社区、社交网络等多种应用。本文档主要介绍如何配置Liferay的开发环境,以便进行定制开发。 #### 二、...

    Liferay合集.zip

    7. **安全与权限**:掌握Liferay的安全模型,包括用户认证、授权和权限控制。 8. **性能优化**:学习如何调整Liferay的配置以提高系统性能,包括缓存策略、数据库调优等。 9. **API与插件开发**:熟悉Liferay的...

    liferay 资料

    - 开发者可以使用 Liferay SDK 创建、部署和管理 portlets,同时,Liferay 提供了预定义的portlet,如文档库、日历和论坛。 3. **主题与布局**: - 主题决定了 Liferay 网站的外观和感觉,可以通过 CSS 和 HTML ...

    How to Setup Liferay Dev Environment in Windows

    Liferay使用Ant构建工具和JDK来构建这个Servlet容器,即所谓的端口容器。通过Liferay,您可以构建复杂的业务流程管理(BPM)、内容管理系统(CMS)以及社区应用程序等。 #### 必需文件 为了搭建完整的Liferay开发...

    Liferay权限相关的梳理.docx

    Liferay权限系统是一个复杂而精细的框架,它在不同版本中有所变化,但在Liferay 6.1.1和Liferay 7中保持了相似的结构。理解Liferay权限的关键在于掌握其基本概念,包括用户、用户组、角色、组织、站点以及团队。 1....

    ext liferay开发

    - **不受限的自定义**:使用Ext插件,开发者可以自由地调整Liferay的配置、行为和外观。 - **代价与风险**:由于直接操作内部API,可能导致升级问题和维护困难,因此只有在必要时才应使用。 2. **适用场景** - *...

    Liferay开发指南(中文)和liferay详细介绍(英文)

    5. **权限和角色管理**:学习Liferay的安全模型,如何设置用户权限和分配角色,确保数据和资源的安全访问。 6. **社交和协作功能**:探讨Liferay的社区和协作工具,如论坛、博客、文档库等,这些都是促进团队合作的...

    liferay+cas

    - **配置 Liferay SDK 和 Portal Runtime**:在 Eclipse 中设置 Liferay SDK 路径,并配置 Liferay Portal Runtime,使其指向安装的 Tomcat 服务器和 Liferay 门户。 - **启动服务**:通过 Eclipse 的 Server 视图...

    Liferay5.1.2配置Oracle10G数据库操作说明书

    【Liferay 5.1.2 配置 Oracle 10G 数据库操作详解】 Liferay 是一款开源的企业级门户平台,它默认使用 HSQLDB 作为内置数据库。然而,在某些场景下,用户可能需要将数据库迁移至更强大的 Oracle 10G 数据库。这个...

    liferay开发环境搭建

    解压Ant的zip文件到`C:\liferay dev`目录,配置环境变量`ANT_HOME`指向解压后的目录,并在`Path`变量中添加`%ANT_HOME%\bin`和`%ANT_HOME%\lib`。 **步骤3:安装与配置Eclipse** 解压Eclipse IDE的win32-x86_64版本...

    liferay 权限文档

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

    Liferay集群负载均衡配置

    这可以通过配置Liferay的会话复制机制实现,如使用Memcached或 Hazelcast作为分布式缓存,将会话信息实时复制到其他节点。 4. **负载均衡器的选择与配置**: - **硬件负载均衡器**:例如F5 Big-IP或Cisco CSS,...

    liferay的开发文档

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

    Liferay 使用手册

    **Liferay 使用手册** Liferay 是一款开源的企业级门户平台,它提供了丰富的功能,包括网站构建、内容管理、社交协作以及工作流程管理等。这款工具以其灵活的架构和强大的定制能力,深受企业和开发者喜爱。本手册将...

    liferay + cas + ldap 集成配置

    标题 "Liferay + CAS + LDAP 集成配置" 涉及到的是在企业级内容管理系统 Liferay 中集成 Central Authentication Service (CAS) 和 Lightweight Directory Access Protocol (LDAP) 的过程。这种集成允许用户通过CAS...

    Liferay_Portal_6.1源码导入到eclipse

    "Liferay Portal 6.1 源码导入到 Eclipse" Liferay Portal 是一个基于 Java 的开源门户平台,提供了丰富的功能和插件,可以满足企业级门户网站的需求...这样,我们就可以使用 Eclipse 来开发和调试 Liferay 门户平台。

Global site tag (gtag.js) - Google Analytics