Foren
How to get all roles of a User ?
Gurumurthy Godlaveeti, geändert vor 11 Jahren.
How to get all roles of a User ?
Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Hello There ,
How to get all roles (organization roles,community roles , regular roles) of a specific User ?
I tried to use
Note :- I used
My Liferay version is 6.0.6 .
Thanks ,
Gurumurthy .G
How to get all roles (organization roles,community roles , regular roles) of a specific User ?
I tried to use
RoleLocalServiceUtil.getUserRoles(userId), so it's giving only regular roles . and again to get organization roles ,
RoleLocalServiceUtil.getUserGroupRoles(userId,scopeGroupId)but is there any one particular method which gives all roles of a user ?
Note :- I used
themeDisplay.getUser().getRoles()method also , it is just giving regular roles only .
My Liferay version is 6.0.6 .
Thanks ,
Gurumurthy .G
Jignesh Vachhani, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Liferay Master Beiträge: 803 Beitrittsdatum: 10.03.08 Neueste Beiträge
Hi Guru
To get regular you can use
RoleLocalServiceUtil.getUserRoles(userId); OR
To get community roles :
RoleLocalServiceUtil.getUserGroupRoles(userId,groupId)
To get regular you can use
RoleLocalServiceUtil.getUserRoles(userId); OR
To get community roles :
RoleLocalServiceUtil.getUserGroupRoles(userId,groupId)
Gurumurthy Godlaveeti, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Hello Jignesh ,
I used <liferay-theme:defineObjects /> for themeDispaly object in JSP .
So through themeDispaly object , there was no getUserRoles(userId) method .
Liferay Version is 6.0.6 CE .
Thanks ,
Gurumurthy .G
I used <liferay-theme:defineObjects /> for themeDispaly object in JSP .
So through themeDispaly object , there was no getUserRoles(userId) method .
Liferay Version is 6.0.6 CE .
Thanks ,
Gurumurthy .G
Vishal Panchal, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Expert Beiträge: 289 Beitrittsdatum: 20.05.12 Neueste BeiträgeGurumurthy Godlaveeti:
Hello Jignesh ,
I used <liferay-theme:defineObjects /> for themeDispaly object in JSP .
So through themeDispaly object , there was no getUserRoles(userId) method .
Liferay Version is 6.0.6 CE .
Thanks ,
Gurumurthy .G
Hi ,Gurumurthy Godlaveeti
Jignesh is right but in your case,
You can also use following code in your jsp file for accessing roles of a particular user.
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<liferay-theme:defineObjects /> <portlet:defineObjects />
<liferay-ui:user-display userId="<%= user.getRoles() %>" />
Thanks & Regards,
Vishal R. Panchal
Jignesh Vachhani, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Liferay Master Beiträge: 803 Beitrittsdatum: 10.03.08 Neueste Beiträge
Sorry Guru,
By mistake I wrote themDisplay,
Please check the above thead post again.
By mistake I wrote themDisplay,
Please check the above thead post again.
Gurumurthy Godlaveeti, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Hello Jignesh ,
It's giving only regular roles only , not included organisation roles of a user .
I want to get Organization roles of a user also along with regular roles , i mean i want to get regular roles + organization roles of user with single method ?
It's giving only regular roles only , not included organisation roles of a user .
userRoles = RoleLocalServiceUtil.getUserRoles(userId);
I want to get Organization roles of a user also along with regular roles , i mean i want to get regular roles + organization roles of user with single method ?
Sampsa Sohlman, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Regular Member Beiträge: 230 Beitrittsdatum: 27.09.07 Neueste Beiträge
So what exactly you are doing, that you need single method for this?
Gurumurthy Godlaveeti, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Yes Mr.Sampsa Sohlman .
Sampsa Sohlman, geändert vor 11 Jahren.
RE: How to get all roles of a User ?
Regular Member Beiträge: 230 Beitrittsdatum: 27.09.07 Neueste Beiträge
Mr Gurumurthy Godlaveeti, what is your the point?
Try following
FYI, I did not test the code anyway.
Try following
public static List<role> findAllRolesForUser(User user) throws SystemException, PortalException {
List<role> roles = new ArrayList<role>();;
roles.addAll(RoleLocalServiceUtil.getUserRoles(user.getUserId()));
roles.addAll(RoleLocalServiceUtil.getUserRelatedRoles(user.getUserId(), user.getGroupIds()));
return roles;
}
</role></role></role>
FYI, I did not test the code anyway.
Leon Fleysher, geändert vor 10 Jahren.
RE: How to get all roles of a User ?
New Member Beiträge: 5 Beitrittsdatum: 24.02.13 Neueste Beiträge
I'm not sure there is a single method.
I have partial solution for the roles of the user and all roles of user groups to which this user belongs:
Here is the code snippet that worked for me:
I have partial solution for the roles of the user and all roles of user groups to which this user belongs:
Here is the code snippet that worked for me:
...
List<role> roles = new ArrayList<role>();
roles.addAll(user.getRoles());
roles.addAll(getUserGroupRolesOfUser(user));
roles.addAll(getUserExplicitRoles(user));
...
private static List<role> getUserExplicitRoles(User user) throws SystemException, PortalException {
List<role> roles = new ArrayList<role>();
List<usergrouprole> userGroupRoles = UserGroupRoleLocalServiceUtil.getUserGroupRoles(user.getUserId());
for (UserGroupRole userGroupRole : userGroupRoles) {
roles.add(userGroupRole.getRole());
}
return roles;
}
private static List<role> getUserGroupRolesOfUser(User user) throws SystemException, PortalException {
List<role> roles = new ArrayList<role>();
List<usergroup> userGroupList = UserGroupLocalServiceUtil.getUserUserGroups(user.getUserId());
List<usergroupgrouprole> userGroupGroupRoles = new ArrayList<usergroupgrouprole>();
for (UserGroup userGroup : userGroupList) {
userGroupGroupRoles.addAll(UserGroupGroupRoleLocalServiceUtil.getUserGroupGroupRoles(userGroup
.getUserGroupId()));
}
for (UserGroupGroupRole userGroupGroupRole : userGroupGroupRoles) {
Role role = RoleLocalServiceUtil.getRole(userGroupGroupRole.getRoleId());
roles.add(role);
}
return roles;
}
</usergroupgrouprole></usergroupgrouprole></usergroup></role></role></role></usergrouprole></role></role></role></role></role>