#{securityContext.userInRole['Administrators']}
This EL will return true if the user is a member of that group.
In other cases you need the full list of groups where users belongs to, you can achieve this purpose with 2 different solutions.
Weblogic mode
/** * This method returns the default IdentityStore of Weblogic * @return * @throws JpsException */ private static IdentityStore getIdentityStore() throws JpsException { JpsContextFactory ctxf = JpsContextFactory.getContextFactory(); JpsContext ctx = ctxf.getContext(); IdentityStoreService storeService = ctx.getServiceInstance(IdentityStoreService.class); return storeService.getIdmStore(); } /** * This method returns a list of the groups where the user belongs to * @param userName * @return */ public ListgetRolesFromLDAP() { List rolesGranted = new ArrayList (); IdentityStore is = null; try { is = getIdentityStore(); //Getting current user ADFContext ctxt = ADFContext.getCurrent(); SecurityContext sctxt = ctxt.getSecurityContext(); User userAux = is.searchUser(sctxt.getUserPrincipal()); RoleManager rm = is.getRoleManager(); SearchResponse response = rm.getGrantedRoles(userAux.getPrincipal(), false); while (response.hasNext()) { String name = response.next().getName(); LOG.info("Añadiendo el rol:" + name); rolesGranted.add(name); } } catch (Exception e) { LOG.severe("Error obteniendo los grupos del usuario", e); } return rolesGranted; }
WebCenter mode
public ListgetRolesWebCenter() throws WCSecurityException { List roles = new ArrayList (); ADFContext ctxt = ADFContext.getCurrent(); SecurityContext sctxt = ctxt.getSecurityContext(); Collection collection = WebCenterSecurityUtils.getEnterpriseRoles(sctxt.getUserName()); for (Principal user : collection) { String userName = user.getName(); LOG.info("Role:" + userName); roles.add(userName); } return roles; }
Here is for download a sample project with this two samples.
And this is a capture of the results