ROOT_LOGGER.trace("Using security domain: " + securityDomain + " for EJB " + ejbComponent.getComponentName());
}
final String runAs = securityMetaData.getRunAs();
// TODO - We should do something with DeclaredRoles although it never has much meaning in JBoss AS
final String runAsPrincipal = securityMetaData.getRunAsPrincipal();
final SecurityRolesMetaData securityRoles = securityMetaData.getSecurityRoles();
Set<String> extraRoles = null;
Map<String,Set<String>> principalVsRolesMap = null;
if (securityRoles != null && runAsPrincipal != null) {
principalVsRolesMap = securityRoles.getPrincipalVersusRolesMap();
extraRoles = securityRoles.getSecurityRoleNamesByPrincipal(runAsPrincipal);
}
SecurityContextInterceptorHolder holder = new SecurityContextInterceptorHolder();
holder.setSecurityManager(securityManager).setSecurityDomain(securityDomain)
.setRunAs(runAs).setRunAsPrincipal(runAsPrincipal)
.setExtraRoles(extraRoles).setPrincipalVsRolesMap(principalVsRolesMap);