liferay按角色启用组织或社区

liferay按角色启用组织或社区,liferay,organization,role,Liferay,Organization,Role,我正在开发一个新的liferay实现。我的所有用户都在一个外部系统中,并且使用了外部环境。通过我自己的身份验证系统进行身份验证。我还将角色存储在同一个系统中。我已经能够成功地将它们传递给liferay,这样我的所有用户角色都可以在liferay中使用 我想创建一个与角色关联的组织或社区。例如,如果我的外部系统中有一个名为“myusers”的角色,我希望将该角色与liferay中的组织或社区绑定。然后,当用户以该角色登录到liferay时,他们将能够成为该组织或社区的一部分。这在liferay中可

我正在开发一个新的liferay实现。我的所有用户都在一个外部系统中,并且使用了外部环境。通过我自己的身份验证系统进行身份验证。我还将角色存储在同一个系统中。我已经能够成功地将它们传递给liferay,这样我的所有用户角色都可以在liferay中使用


我想创建一个与角色关联的组织或社区。例如,如果我的外部系统中有一个名为“myusers”的角色,我希望将该角色与liferay中的组织或社区绑定。然后,当用户以该角色登录到liferay时,他们将能够成为该组织或社区的一部分。这在liferay中可能吗?我知道在liferay中,向用户添加角色,然后将用户添加到社区或组织是一种倒退。

您可以修改以下代码,检查用户是否属于某个角色,然后将其添加到相应的组织

要将用户添加到所有组织,请执行以下操作:

public final static void addAllOrganizationstoUser(长用户ID)引发系统异常,PortalException{
//获取所有组织
List organizations=OrganizationLocalServiceUtil.getOrganizations(所有位置,所有位置);
long[]users=新的long[]{userId};
//向组织注册用户
对于(组织:组织){
UserLocalServiceUtil.addOrganizationUsers(organization.getOrganizationId(),users);
}
}

我最终使用的是liferay内置的expando功能。这样我就可以输入一个应该映射到该组织的角色列表。这使我能够在用户登录时查看他们的角色,并确定他们应该加入哪些组织。然后,我根据expando属性中定义的角色和分配给用户的角色,通过编程从组织中添加/删除用户