回复:问题1
有问题的片段是分配给的默认权限
某些用户类型
执行
某些行动
资源。资源,如
ResourceLocalServiceUtil
这是对其他
真实的
数据库中的对象(例如。
JournalArticle
或者在您的示例中,
me.pd.test.model.Foo
). 因此
资源
是具有Liferay管理的权限(即对资源类型的对象执行操作的权限)的东西。
尽管您的对象可能有
groupId
或
companyId
,与之相关的资源可能有自己的值,不幸的是,程序员的角色是保持这些冗余资源值的最新。
这个
community-default
(在最近的Liferay版本中,重命名为
site-member-defaults
)是分配给特定资源所属社区(即站点)成员的默认权限。因此,在您的示例中,如果您在Baz社区中创建了一些Foo类型的Bar对象,那么Baz社区的成员在默认情况下应该被分配权限
ADD_FOO
和
VIEW
Bar对象。也就是说,除非
addCommunityPermissions
在里面
addResource
方法为false。
这个
guest-default
权限是类似的,只在默认情况下分配给来宾用户(同样,除非
addGuestPermissions
在创建资源时为false)。
回复:问题2
最后这些参数是
boolean portletActions, boolean addCommunityPermissions, boolean addGuestPermissions)
最后两个应该已经很容易理解了——如果你通过了
false
对于它们,您实际上忽略了权限XML中定义的默认操作权限。
这个
portletActions
告诉您是否要添加与portlet本身相关的权限资源(
true
)或portlet模型(
假的
).
现在我不是100%确定,但我认为你永远不需要通过
portlet操作
因为Liferay本身应该管理portlet权限资源。
回复:问题3
每当您的portlet管理一些持久化对象时(想想
book-catalogue
在许多portlet教程中出现的portlet,您可以在其中管理数据库中的书籍等),您希望通过Liferay的资源权限框架管理这些对象的权限(您可以选择不这样做,并以其他方式管理这些权限)。