2011-10-24 50 views
3

我上传了一些文件到Portlet_DL_DLFileEntryService/tunnel-web/secure/axis/Portlet_DL_DLFileEntryService)的文档库。现在我想修改他们的权限。如果我是对的,我可以用Portal_PermissionService/tunnel-web/secure/axis/Portal_PermissionService)来做到这一点。有人能给我一些实例吗?简单的soapUI请求会很好。通过Liferay Webservices更改文档库项目的权限

例如,我有一个DLFileEntrySoap实例,并希望添加VIEW许可权Guest作用和VIEWUPDATE权限Publisher作用。我应该调用哪种方法的Portal_PermissionService以及该方法的参数值是多少?

回答

6

您应该使用Portal_ResourcePermissionService而不是Portal_PermissionService,它具有以下方法:

setIndividualResourcePermissions(long groupId, long companyId, String name, String primKey, long roleId, String[] actionIds)

其中:

  • 的groupId与社区ID
  • companyId是等于大概1
  • com.liferay.portlet.documentlibrary.model.DLFileEntrycom.liferay.portlet.documentlibrary.model.DLFolder
  • primKey可以fileEntry.getPrimaryKey()folder.getPrimaryKey()
  • 角色ID获得的角色的ID,就可以通过Portal_RoleService
  • actionIds获得它包含权限(例如VIEW,DELETE
+0

只是想知道,你如何去实现这个答案?我是Liferay的新手,而不是J2EE开发人员。我正在寻找简单的文档和媒体portlet中的任何用户上传的任何文件都具有默认情况下使用VIEW设置的GUEST角色权限。现在,每次用户上传文件时,他们都需要进入权限页面并检查视图框,以便其他用户可以看到/下载文件 - 这对用户来说非常烦人。我正在考虑在ResoursePermission表中插入一个新行,并设置roleId = 10162,ownerID = 0,actionIds = 1但是这是一个破解,不好... – ElasticThoughts

+0

我见过的最好的liferay答案之一,但你能仍然扩展什么是“社区ID”?其次;是否有文件单独的“下载”操作或下载需要什么操作权限?第三;如果我只是将userId而不是roleId给予它,我可以将它应用于单个用户以及组吗? – Nenotlep