[开发] liferay怎么开发使用自己的权限系统?

zhangzcz1999 2007-09-12
liferay怎么开发使用自己的权限系统?
看了liferay的权限扩展介绍,知道了可以配置permissions.checker可以设置权限检查的方法,该方法继承com.liferay.portal.security.permission.PermissionCheckerImpl,同时重写里面的hasUserPermission和hasGuestPermission、isAdmin方法。
照着做了,但是感觉还是有很多局限性。不知道有没有人做过使用liferay不用liferay的权限系统,而使用自己另外开发的权限?可以说一下吗?
pikachu 2007-09-12
如果你不使用liferay权限,那完全可以自己模拟一套.你就把liferay当作一个程序框架.不过这样的话要完全开发出自己的授权和验证代码,自己设计配置页面.

如果要使用liferay的权限框架,需要完成这些步骤
1.定义resource,也就是哪些资源是需要有权限控制的.
2.定义action,也就是在资源上可以完成哪些操作,一般的就是crud,
3.编写resource-action xml文件.
4.在程序逻辑中,使用hasXXXPermission判断当前用户权限.

我认为,虽然liferay的权限系统看似复杂,还是比较完整实用的,而且不用开发自己的权限配置模块,可以直接使用liferay已有的权限配置界面..
zhangzcz1999 2007-09-12
pikachu:你好!
我知道可以liferay可以配置自己的权限,也很方便,只是我有这个需求而已。

我研究了下liferay的权限系统,是比较全面的,可以对用户、对角色、对组授权。我们也可以使用自己的权限系统。只是开发自己的权限时候,好像我们的自己的权限系统会跟liferay有冲突,liferay本身其他portlet的权限也会失败吧。比如说:
我实现了com.ext.potal.security.permission.MyPermissionCheckImpl
来扩展liferay原来的权限,重写hasUserPermission和hasGuestPermission、isAdmin方法:任何人都有Guest权限,假定一个用户test,然后我用test登陆这样子是不成的,会说没有授权。

这样子的话,怎么样可以去除liferay的权限,使得它不会影响我们自己的权限呢?
pikachu 2007-09-13
zhangzcz1999 写道
pikachu:你好!
我知道可以liferay可以配置自己的权限,也很方便,只是我有这个需求而已。

我研究了下liferay的权限系统,是比较全面的,可以对用户、对角色、对组授权。我们也可以使用自己的权限系统。只是开发自己的权限时候,好像我们的自己的权限系统会跟liferay有冲突,liferay本身其他portlet的权限也会失败吧。比如说:
我实现了com.ext.potal.security.permission.MyPermissionCheckImpl
来扩展liferay原来的权限,重写hasUserPermission和hasGuestPermission、isAdmin方法:任何人都有Guest权限,假定一个用户test,然后我用test登陆这样子是不成的,会说没有授权。

这样子的话,怎么样可以去除liferay的权限,使得它不会影响我们自己的权限呢?


liferay 中guest的规则:

任何人都是guest
由开发者决定,某项action是否判断guest权限.liferay当前所有的资源都会判断guest权限.

guest默认就有所有portlet view的action
查看一个页面还需要这个页面的view action
private的page,即使允许guest查看,也必须login
Global site tag (gtag.js) - Google Analytics