private String getRoleName(Principal callerPrincipal) { String roleName = null; WebBundleDescriptor wbd = (WebBundleDescriptor) getComponentEnvManager().getCurrentJndiNameEnvironment(); SecurityRoleMapperFactory securityRoleMapperFactory = getSecurityRoleMapperFactory(); SecurityRoleMapper securityRoleMapper = securityRoleMapperFactory.getRoleMapper(wbd.getModuleID()); Map<String, Subject> map = securityRoleMapper.getRoleToSubjectMapping(); for (Map.Entry<String, Subject> entry : map.entrySet()) { roleName = entry.getKey(); Subject subject = entry.getValue(); Set principalSet = subject.getPrincipals(); if (principalSet.contains(callerPrincipal)) { return roleName; } } return ""; }
String roleName = runAs.getRoleName(); final Subject fs = (Subject)application.getRoleMapper().getRoleToSubjectMapping().get(roleName); if (fs != null) { principalName = (String)AccessController.doPrivileged(new PrivilegedAction() {
roleToSubjectMap = srm.getRoleToSubjectMapping(); otherRoleToSubjectMap = otherSrm.getRoleToSubjectMapping();