0

我在我的 Liferay 网站中使用了一个 Alfresco portlet。

每当我创建一个新的 Liferay 用户时,他也会在 Alfresco 中自动创建。

但是,该用户没有在我的 portlet 中上传、创建文件夹等的权限。我需要他这样做,因为很难在 Alfresco 中创建一个用户,然后在 Liferay 中创建相同的用户,如此处所示 ( http://wiki.alfresco.com/wiki/Doclib_Portlet ):“用户必须已经拥有在 Alfresco 中设置了正确的权限,并且 Liferay 中用户的“屏幕名称”必须与他们的 Alfresco 用户名匹配。”

我的方法是创建一个覆盖CreateAccountAction.java名为ExtCreateAccountActiont-ext的新分机。在addUser(ActionRequest actionRequest, ActionResponse actionResponse)方法内部,创建用户后(User user = UserServiceUtil.addUserWithWorkflow(parameters),我将授予他 Alfresco 权限。

我的问题是我该怎么做,因为我没有发现有用的东西。

4

1 回答 1

0

我不确定我是否理解正确...

您需要弄清楚您是否缺少 Liferay 端的权限(例如,portlet 甚至不提供修改 Alfresco 的 UI,即使在 Alfresco 中您有权限),或者它是否正确转发和 Alfresco拒绝工作,因为那边出了问题。

(您可能会说,我从未看过 alfresco portlet 的这方面)

您可以在 ControlPanel/Roles 下弄清楚这一点,使用您需要的范围创建一个新的“Alfresco User”角色,然后“Define Permissions”并在列表中查找 Alfresco portlet。检查它提供的权限 - 这些是在 Liferay 端评估的权限。您可以为具有此角色的用户授予全部或部分权限。节省。

现在将此角色分配给适用的用户并检查它是否有效。您可以在覆盖的 addUser 方法中为新用户添加此角色关联,或者您可以将其设为每个新用户的默认角色(控制面板/门户设置/某处...)

在相关的说明中,如果你使用一个钩子来覆盖这个服务方法,你最终会得到一个更容易部署的插件,它也更容易为 Liferay 的未来版本维护。Hooks 可以做到这一点,是可热部署的,并且比 ext 更可取,只要它们可以实现您需要实现的目标。

于 2013-05-28T19:20:53.013 回答