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

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

    博文链接:https://pikachu.iteye.com/blog/65266

    Liferay权限相关的梳理.docx

    Liferay的权限体系几经变动,不同的版本里面有不同的权限结构,下面介绍是摘自Liferay6.1.1版本里面的权限体系,经比对在Liferay7中同样适用,在介绍Liferay权限体系之前,有一些基本的概念需要了解。

    Aperte Reports:用于Liferay的轻量级JasperReports集成-开源

    从Liferay的“控制面板”内部部署和管理报告定义,从报告和其他Liferay Portlet中组成非功能性仪表板,输入参数并运行按需报告,安排周期性和背景报告(包括报告结果的电子邮件传递) ),并使用可视化编辑器-...

    liferay应用之配置

    Liferay Portal针对不同的用户会展现出不同的服务网页。当浏览Portal主页网址http://localhost:8080/时,自动转入网址http://localhost:8080/web/guest/home调出面向所有人的Guest社区公共主页。一个注册用户登录...

    workflow-helpful-scripts:使用Liferay API填充数据以支持测试的脚本

    问:如何使用createBlogContent_curl.sh 答:bash createBlogContent_curl.sh(实例数) 脚本列表: 添加用户 addUsers.groovy 添加具有“管理员”角色的i用户 addUsersWithRoles.groovy 添加具有i角色的i用户 ...

    Liferay Security Patches:下载Liferay社区的最新安全补丁-开源

    该项目包含适用于Liferay社区不同版本的安全补丁(二进制文件),随着新版本的发布,这些补丁将不再开发。...此外,我们建议使用Liferay DXP获得官方产品支持,更快地交付由Liferay Team烘焙的补丁程序和更新本身。

    Liferay in action

    Liferay is a different portal. 10分下载的, 打包5折提供下载. Part 1 Introduction to Liferay 1. Liferay is a different portal 2. Getting started with ... How to contribute to Liferay B. Portal design forms

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

    Liferay(5.1.2)的数据库由自身绑定的HSQLDB转成oracle(10G)虽然步骤不多,但因英文的参考资料说的太笼统,而网上相关资料又太少,所以操作起来很费时费力,尤其是当某个错误的操作,出现一大堆的错误提示,可能误导...

    liferay 权限文件说明

    liferay->permissions.xml文件说明

    liferay 权限文档

    liferay presson开发权限文档资料描述

    ansible-liferay:安装和配置 Liferay

    liferay_home_dir_name : Liferay Portal 服务器安装的主目录的名称(字符串,默认值: liferay-portal-{{ liferay_version }} ) liferay_home_dir : Liferay Portal 服务器安装的主目录(字符串,默认: {{...

    Liferay6.1 权限管理

    Liferay6.1 权限管理功能解析.包括控制面板的权限管理功能的使用,以及自定义开发权限管理系统

    liferay-docker-images:生成Liferay Docker映像的工具

    Liferay Docker图片 该存储库包含 用于为任何Liferay发行版创建Liferay“独立” Docker映像的工具...对于普通的最终用户而言,某些脚本使这些图像/容器的使用变得更加容易(甚至透明)。 有关更多信息,请参见文件夹!

    liferay-webcontent-migration-6.1-to-6.2:从Liferay 6.1迁移到Liferay 6.2时解决Web内容某些问题的Portlet

    Web内容迁移实用程序 从Liferay 6.1到Liferay 6.2 将内容从Liferay 6.1版本迁移到6.2版本时,迁移的结构存在一个常见问题。... 此外,当使用该结构编辑Web内容时,日期字段显示为普通文本字段 此portlet允许

    How to Setup Liferay Dev Environment in Windows

    针对Liferay 6.0.5版本,不过是英文的。需要的可以下载看看

    liferay权限管理(大全)

    liferay权限管理大全,详细介绍了liferay内部的权限管理模型以及运作机制,是liferay权限开发的详细资料

    Liferay Portal 5.2 Systems Development

    This book shows how Java developers can use Liferay as a framework to develop custom intranet systems, based on Liferay portal platform thus helping you to maximize your productivity gains. Get ready ...

    Liferay 配置oracle DB的脚本

    新建Liferay的DB,然后将该文件导入该DB后,即可创建Liferay所需要的Table,并insert提供的初始值。

Global site tag (gtag.js) - Google Analytics