Package javax.security.jacc

Examples of javax.security.jacc.PolicyConfiguration


    protected BasicPolicyConfiguration createPolicyConfiguration(String contextID) {
        return new BasicPolicyConfiguration(contextID);
    }

    public boolean inService(String contextID) throws PolicyContextException {
        PolicyConfiguration configuration = getPolicyConfiguration(contextID, false);
        return configuration.inService();
    }
View Full Code Here


    public static void install() {
        System.setProperty("javax.security.jacc.PolicyConfigurationFactory.provider", PseudoPolicyConfigurationFactory.class.getName()) ;
    }

    public PolicyConfiguration getPolicyConfiguration(final String contextID, boolean remove) throws PolicyContextException {
        return new PolicyConfiguration(){
            public String getContextID() throws PolicyContextException {
                return contextID;
            }

            public void addToRole(String roleName, PermissionCollection permissions) throws PolicyContextException {
View Full Code Here

        if (SystemInstance.get().hasProperty("openejb.geronimo")) return;

        try {
            PolicyConfigurationFactory factory = PolicyConfigurationFactory.getPolicyConfigurationFactory();

            PolicyConfiguration policy = factory.getPolicyConfiguration(policyContext.getContextID(), false);

            policy.addToExcludedPolicy(policyContext.getExcludedPermissions());

            policy.addToUncheckedPolicy(policyContext.getUncheckedPermissions());

            for (Map.Entry<String, PermissionCollection> entry : policyContext.getRolePermissions().entrySet()) {
                policy.addToRole(entry.getKey(), entry.getValue());
            }

            policy.commit();
        } catch (ClassNotFoundException e) {
            throw new OpenEJBException("PolicyConfigurationFactory class not found", e);
        } catch (PolicyContextException e) {
            throw new OpenEJBException("JACC PolicyConfiguration failed: ContextId=" + policyContext.getContextID(), e);
        }
View Full Code Here

                    } else {
                        log.debugf("Cannot create permissions with 'null' metaData for id=" + contextId);
                    }
                }
                if (!standalone) {
                    PolicyConfiguration parent = parentPolicy.getValue();
                    if (parent != null) {
                        parent = pcf.getPolicyConfiguration(parent.getContextID(), false);
                        parent.linkConfiguration(policyConfiguration);
                        policyConfiguration.commit();
                        parent.commit();
                    } else {
                        log.debugf("Could not retrieve parent policy for policy " + contextId);
                    }
                } else {
                    policyConfiguration.commit();
View Full Code Here

     */
    private static void
    convertEJBRoleReferences(EjbDescriptor eDescriptor, String pcid)
            throws PolicyContextException {
       
        PolicyConfiguration pc =
                getPolicyFactory().getPolicyConfiguration(pcid, false);
        assert pc != null;
        if (pc != null) {
            String eName = eDescriptor.getName();
            for (RoleReference roleRef : eDescriptor.getRoleReferences()) {
                String rolename = roleRef.getRoleName();
                EJBRoleRefPermission ejbrr =
                        new EJBRoleRefPermission(eName, rolename);
                String rolelink = roleRef.getSecurityRoleLink().getName();

                pc.addToRole(rolelink, ejbrr);

                if (_logger.isLoggable(Level.FINE)) {
                    _logger.fine("JACC: Converting role-ref -> " + roleRef.toString() +
                            " to permission with name(" + ejbrr.getName() +
                            ") and actions (" + ejbrr.getActions() +
View Full Code Here

     */
    private static void
    convertEJBMethodPermissions(EjbDescriptor eDescriptor, String pcid)
            throws PolicyContextException {

        PolicyConfiguration pc =
                getPolicyFactory().getPolicyConfiguration(pcid, false);

        assert pc != null;

        if (pc != null) {

            String eName = eDescriptor.getName();

            Permissions uncheckedPermissions = null;
            Permissions excludedPermissions = null;
            HashMap rolePermissionsTable = null;

            EJBMethodPermission ejbmp = null;

            // phase 1
            Map mpMap = eDescriptor.getMethodPermissionsFromDD();
            if (mpMap != null) {

                Iterator mpIt = mpMap.entrySet().iterator();

                while (mpIt.hasNext()) {

                    Map.Entry entry = (Map.Entry)mpIt.next();
                    MethodPermission mp = (MethodPermission) entry.getKey();

                    Iterator mdIt = ((ArrayList) entry.getValue()).iterator();

                    while (mdIt.hasNext()) {

                        MethodDescriptor md = (MethodDescriptor) mdIt.next();

                        String mthdName = md.getName();
                        String mthdIntf = md.getEjbClassSymbol();
                        String mthdParams[] = md.getStyle() == 3 ?
                                md.getParameterClassNames() : null;

                        ejbmp = new EJBMethodPermission(eName, mthdName.equals("*") ?
                                null : mthdName,
                                mthdIntf, mthdParams);
                        rolePermissionsTable =
                                addToRolePermissionsTable(rolePermissionsTable, mp, ejbmp);

                        uncheckedPermissions =
                                addToUncheckedPermissions(uncheckedPermissions, mp, ejbmp);

                        excludedPermissions =
                                addToExcludedPermissions(excludedPermissions, mp, ejbmp);
                    }
                }
            }

            // phase 2 - configures additional perms:
            //      . to optimize performance of Permissions.implies
            //      . to cause any uncovered methods to be unchecked

            Iterator mdIt = eDescriptor.getMethodDescriptors().iterator();
            while (mdIt.hasNext()) {

                MethodDescriptor md = (MethodDescriptor) mdIt.next();
                Method mthd = md.getMethod(eDescriptor);
                String mthdIntf = md.getEjbClassSymbol();

                if (mthd == null) {
                    continue;
                }

                if (mthdIntf == null || mthdIntf.equals("")) {
                    _logger.log(Level.SEVERE, "method_descriptor_not_defined" , new Object[] {eName,
                        md.getName(), md.getParameterClassNames()});

                    continue;
                }

                ejbmp = new EJBMethodPermission(eName, mthdIntf, mthd);

                Iterator mpIt = eDescriptor.getMethodPermissionsFor(md).iterator();

                while (mpIt.hasNext()) {

                    MethodPermission mp = (MethodPermission) mpIt.next();

                    rolePermissionsTable =
                            addToRolePermissionsTable(rolePermissionsTable, mp, ejbmp);

                    uncheckedPermissions =
                            addToUncheckedPermissions(uncheckedPermissions, mp, ejbmp);

                    excludedPermissions =
                            addToExcludedPermissions(excludedPermissions, mp, ejbmp);
                }
            }

            if (uncheckedPermissions != null) {
                pc.addToUncheckedPolicy(uncheckedPermissions);
            }
            if (excludedPermissions != null) {
                pc.addToExcludedPolicy(excludedPermissions);
            }
            if (rolePermissionsTable != null) {

                Iterator roleIt = rolePermissionsTable.entrySet().iterator();

                while (roleIt.hasNext()) {
                    Map.Entry entry = (Map.Entry)roleIt.next();
                    pc.addToRole((String) entry.getKey(),
                            (Permissions) entry.getValue());
                }
            }
        }
    }
View Full Code Here

    protected BasicPolicyConfiguration createPolicyConfiguration(String contextID) {
        return new BasicPolicyConfiguration(contextID);
    }

    public boolean inService(String contextID) throws PolicyContextException {
        PolicyConfiguration configuration = getPolicyConfiguration(contextID, false);
        return configuration.inService();
    }
View Full Code Here

        if (SystemInstance.get().hasProperty("openejb.geronimo")) return;

        try {
            PolicyConfigurationFactory factory = PolicyConfigurationFactory.getPolicyConfigurationFactory();

            PolicyConfiguration policy = factory.getPolicyConfiguration(policyContext.getContextID(), false);

            policy.addToExcludedPolicy(policyContext.getExcludedPermissions());

            policy.addToUncheckedPolicy(policyContext.getUncheckedPermissions());

            for (Map.Entry<String, PermissionCollection> entry : policyContext.getRolePermissions().entrySet()) {
                policy.addToRole(entry.getKey(), entry.getValue());
            }

            policy.commit();
        } catch (ClassNotFoundException e) {
            throw new OpenEJBException("PolicyConfigurationFactory class not found", e);
        } catch (PolicyContextException e) {
            throw new OpenEJBException("JACC PolicyConfiguration failed: ContextId=" + policyContext.getContextID(), e);
        }
View Full Code Here

        log.trace("Get " + (remove ? "CLEANED" : "") + " policy configuration " + contextID);
        return configuration;
    }

    public boolean inService(String contextID) throws PolicyContextException {
        PolicyConfiguration configuration = getPolicyConfiguration(contextID, false);

        log.trace("Policy configuration " + contextID + " put into service");
        return configuration.inService();
    }
View Full Code Here

        for (Iterator iterator = contextIdToPermissionsMap.entrySet().iterator(); iterator.hasNext();) {
            Map.Entry entry = (Map.Entry) iterator.next();
            String contextID = (String) entry.getKey();
            ComponentPermissions componentPermissions = (ComponentPermissions) entry.getValue();

            PolicyConfiguration policyConfiguration = policyConfigurationFactory.getPolicyConfiguration(contextID, false);
//            if (policyConfiguration != policyConfigurationFactory.getPolicyConfiguration(contextID, false)) {
//                throw new IllegalStateException("JACC implementation is invalid: returns different instances of PolicyConfiguration for the same contextID");
//            }
            contextIdToPolicyConfigurationMap.put(contextID, policyConfiguration);
            policyConfiguration.addToExcludedPolicy(componentPermissions.getExcludedPermissions());
            policyConfiguration.addToUncheckedPolicy(componentPermissions.getUncheckedPermissions());
            for (Iterator roleIterator = componentPermissions.getRolePermissions().entrySet().iterator(); roleIterator.hasNext();) {
                Map.Entry roleEntry = (Map.Entry) roleIterator.next();
                String roleName = (String) roleEntry.getKey();
                PermissionCollection rolePermissions = (PermissionCollection) roleEntry.getValue();
                for (Enumeration permissions = rolePermissions.elements(); permissions.hasMoreElements();) {
                    Permission permission = (Permission) permissions.nextElement();
                    policyConfiguration.addToRole(roleName, permission);

                }
            }

            GeronimoPolicyConfigurationFactory roleMapperFactory = GeronimoPolicyConfigurationFactory.getSingleton();
            if (roleMapperFactory == null) {
                throw new IllegalStateException("Inconsistent security setup.  GeronimoPolicyConfigurationFactory is not being used");
            }

            GeronimoPolicyConfiguration geronimoPolicyConfiguration = roleMapperFactory.getGeronimoPolicyConfiguration(contextID);
            geronimoPolicyConfiguration.setPrincipalRoleMapping(principalRoleMap);

        }

        //link everything together
        for (Iterator iterator = contextIdToPolicyConfigurationMap.values().iterator(); iterator.hasNext();) {
            PolicyConfiguration policyConfiguration = (PolicyConfiguration) iterator.next();
            for (Iterator iterator2 = contextIdToPolicyConfigurationMap.values().iterator(); iterator2.hasNext();) {
                PolicyConfiguration policyConfiguration2 = (PolicyConfiguration) iterator2.next();
                if (policyConfiguration != policyConfiguration2) {
                    policyConfiguration.linkConfiguration(policyConfiguration2);
                }
            }
        }

        //commit
        for (Iterator iterator = contextIdToPolicyConfigurationMap.values().iterator(); iterator.hasNext();) {
            PolicyConfiguration policyConfiguration = (PolicyConfiguration) iterator.next();
            policyConfiguration.commit();
        }

        //refresh policy
        Policy policy = Policy.getPolicy();
        policy.refresh();
View Full Code Here

TOP

Related Classes of javax.security.jacc.PolicyConfiguration

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.