如何向 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 权限的主要内容,如果未能解决你的问题,请参考以下文章