我在我的Liferay网站上使用了一个。
每当我创建一个新的Liferay用户,他也自动创建在阿尔弗雷科。
但是,这个用户在我的portlet中没有上传、创建文件夹等的权限。我需要他这样做,因为很难在Alfresco中创建一个用户,然后在Liferay中创建相同的用户,就像这里(Portlet)所看到的那样:“用户必须已经在Alfresco中设置了正确的权限,并且Liferay中的用户的‘屏幕名’必须与他们的Alfresco用户名相匹配。”
我的方法是创建一个新的ext,它覆盖了名为ExtCreateAccountActiont-ext.的CreateAccountAction.java
在addUser(ActionRequest actionRequest, ActionResponse actionResponse)
方法中,在创建用户(User user = UserServiceUtil.addUserWithWorkflow(parameters
)之后,我将授予他Alfresco权限。
我的问题是如何做到这一点,因为我找不到有用的东西。
发布于 2013-05-28 19:20:53
我不确定我是否正确理解..。
您需要弄清楚您在Liferay端是否缺少权限(例如,portlet甚至没有提供UI来修改Al新鲜to,即使在Al新鲜to中您有这个权限),或者它是否正确地转发,并且Al新鲜to拒绝工作,因为那边有问题。
(正如您可能知道的那样,我从来没有看过alfresco的这个方面)
您可以在ControlPanel/Roles下解决这个问题,使用需要的范围创建一个新的“Al新鲜in用户”角色,然后“定义权限”,然后在列表中查找Al新鲜create。检查它提供的权限--这些是在Liferay端评估的权限。您可以为具有此角色的用户授予全部或部分权限。保存。
现在,在适当的情况下将此角色分配给用户,并检查它是否有效。可以在重写的addUser方法中为新用户添加此角色关联,也可以将其作为每个新用户的默认角色(ControlPanel/Portal设置/某处.)
另外,如果您使用钩子来覆盖这个服务方法,那么您最终会得到一个更容易部署的插件,这对于Liferay的未来版本来说也更容易维护。钩子可以做到这一点,是热部署和更好的ext,无论什么地方,他们可以达到你需要达到的。
https://stackoverflow.com/questions/16792369
复制相似问题