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。

[img]http://pikachu.iteye.com/upload/picture/pic/1924/1500a19c-dc35-4ce5-ada7-b7509e4ecc6c.gif[/img]

举个例子,我们要定义一个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。
[img]http://pikachu.iteye.com/upload/picture/pic/1927/53b2e632-691b-417f-8cb8-b75b29cdc06e.png[/img]
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按钮。
[img]http://pikachu.iteye.com/upload/picture/pic/1925/86e6b740-53e7-489d-b4c3-55e5acea7901.png[/img]
然后看一下如何配置其他scope的权限。
首先以管理员身份登录系统,将Enterprise Admin添加到页面上。选择Roles,添加一个Role名称为SupportMBAdmin,选择Delegate。
[img]http://pikachu.iteye.com/upload/picture/pic/1926/1f205b21-b604-4995-a0b9-b97f95e5f677.png[/img]
在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配置是没有意义的。因为其他人不能查看你的页面,也就无法配置了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值