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

Posted

技术标签:

【中文标题】如何向 Liferay 中新创建的用户授予 Alfresco 权限【英文标题】:How to grant Alfresco permissions to newly created user in Liferay 【发布时间】:2013-05-28 12:41:39 【问题描述】:

我在 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】:

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

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

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

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

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

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

【讨论】:

以上是关于如何向 Liferay 中新创建的用户授予 Alfresco 权限的主要内容,如果未能解决你的问题,请参考以下文章

如何向当前用户授予权限

如何向组中的特定用户授予文件权限?

如何在 NiFi 中向管理员用户授予所有权限

向 Amazon S3 存储桶授予权限

向 SQL Server 用户授予执行权限以仅运行特定作业

我们如何在Liferay中以编程方式创建用户和网站模板的角色,权限?