final DeploymentReflectionIndex reflectionIndex = deploymentUnit.getAttachment(Attachments.REFLECTION_INDEX); final EJBComponentDescription ejbComponentDescription = EJBComponentDescription.class.cast(description); final EjbJaccConfig ejbJaccConfig = new EjbJaccConfig(); context.getDeploymentUnit().addToAttachmentList(EjbDeploymentAttachmentKeys.JACC_PERMISSIONS, ejbJaccConfig); List<Map.Entry<String, Permission>> processedRoles = ejbJaccConfig.getRoles(); for (Map.Entry<String, Permission> entry : processedRoles) { securityRoles.add(entry.getKey()); for (String roleLink : entry.getValue()) { EJBRoleRefPermission p = new EJBRoleRefPermission(ejbComponentDescription.getEJBName(), roleName); ejbJaccConfig.addRole(roleLink, p); if (!securityRoleRefs.containsKey(role)) { EJBRoleRefPermission p = new EJBRoleRefPermission(ejbComponentDescription.getEJBName(), role); ejbJaccConfig.addRole(role, p); ejbJaccConfig.addRole(role, p); if (session.isStateful()) { EJBMethodPermission p = new EJBMethodPermission(ejbComponentDescription.getEJBName(), "getEJBObject", "Home", null); ejbJaccConfig.addPermit(p);
@Override public void createPermissions(final AttachmentList<EjbJaccConfig> metaData, final PolicyConfiguration policyConfiguration) throws PolicyContextException { for (EjbJaccConfig permission : metaData) { for (Permission deny : permission.getDeny()) { policyConfiguration.addToExcludedPolicy(deny); } for (Permission permit : permission.getPermit()) { policyConfiguration.addToUncheckedPolicy(permit); } for (Entry<String, Permission> role : permission.getRoles()) { policyConfiguration.addToRole(role.getKey(), role.getValue()); } } } }
final DeploymentReflectionIndex reflectionIndex = deploymentUnit.getAttachment(Attachments.REFLECTION_INDEX); final EJBComponentDescription ejbComponentDescription = EJBComponentDescription.class.cast(description); final EjbJaccConfig ejbJaccConfig = new EjbJaccConfig(); context.getDeploymentUnit().addToAttachmentList(EjbDeploymentAttachmentKeys.JACC_PERMISSIONS, ejbJaccConfig); for (String roleLink : entry.getValue()) { EJBRoleRefPermission p = new EJBRoleRefPermission(ejbComponentDescription.getEJBName(), roleName); ejbJaccConfig.addRole(roleLink, p); if (session.isStateful()) { EJBMethodPermission p = new EJBMethodPermission(ejbComponentDescription.getEJBName(), "getEJBObject", "Home", null); ejbJaccConfig.addPermit(p);
@Override public void createPermissions(final AttachmentList<EjbJaccConfig> metaData, final PolicyConfiguration policyConfiguration) throws PolicyContextException { for (EjbJaccConfig permission : metaData) { for (Permission deny : permission.getDeny()) { policyConfiguration.addToExcludedPolicy(deny); } for (Permission permit : permission.getPermit()) { policyConfiguration.addToUncheckedPolicy(permit); } for (Entry<String, Permission> role : permission.getRoles()) { policyConfiguration.addToRole(role.getKey(), role.getValue()); } } } }