如何在Liferay中向新创建的用户授予Alfresco权限

时间:2013-05-28 12:41:40

标签: permissions liferay alfresco user-permissions

我在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权限。

我的问题是我该怎么做,因为我找不到有用的东西。

1 个答案:

答案 0 :(得分:0)

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

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

(你可能会说,我从来没有看过露天门户网站的这方面)

您可以在ControlPanel / Roles下解决这个问题,使用您需要的范围创建一个新的“Alfresco用户”角色,然后“定义权限”并在列表中查找Alfresco portlet。检查它提供的权限 - 这些是在Liferay端评估的权限。您可以为具有此角色的用户授予全部或部分权限。保存。

现在将此角色分配给适用的用户并检查其是否有效。您可以在重写的addUser方法中为新用户添加此角色关联,或者您可以将其设置为每个新用户的默认角色(ControlPanel / Portal Settings / somewhere ...)

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