Package org.apache.geronimo.security.deploy

Examples of org.apache.geronimo.security.deploy.AutoMapAssistant


     */
    protected JAASJettyPrincipal generateDefaultPrincipal(Security securityConfig) throws GeronimoSecurityException {

        DefaultPrincipal defaultPrincipal = securityConfig.getDefaultPrincipal();
        if (defaultPrincipal == null) {
            AutoMapAssistant config = securityConfig.getAssistant();
            try {
                if (config != null) {
                    Set assistants = kernel.listGBeans(new ObjectName("geronimo.security:type=SecurityRealm,realm=" + config.getSecurityRealm()));
                    if (assistants.size() < 1 || assistants.size() > 1) throw new GeronimoSecurityException("Only one auto mapping assistant should match " + config.getSecurityRealm());

                    org.apache.geronimo.security.realm.AutoMapAssistant assistant = (org.apache.geronimo.security.realm.AutoMapAssistant) assistants.iterator().next();
                    org.apache.geronimo.security.deploy.Principal principal = assistant.obtainDefaultPrincipal();
                    defaultPrincipal = new DefaultPrincipal();
                    defaultPrincipal.setPrincipal(principal);
                    defaultPrincipal.setRealmName(((SecurityRealm)assistant).getRealmName());
                }
            } catch (MalformedObjectNameException e) {
                throw new GeronimoSecurityException("Bad object name geronimo.security:type=SecurityRealm,realm=" + config.getSecurityRealm());
            }

        }
        if (defaultPrincipal == null) throw new GeronimoSecurityException("Unable to generate default principal");

View Full Code Here


    }

    protected void autoMapRoles(RoleMappingConfiguration roleMapper, Security security) throws PolicyContextException, GeronimoSecurityException {

        JettyWebAppJACCContext context = (JettyWebAppJACCContext) getWebApplicationContext();
        AutoMapAssistant config = security.getAssistant();
        try {
            if (config != null) {
                ObjectName assistantName = new ObjectName("geronimo.security:type=SecurityRealm,realm=" + config.getSecurityRealm());
                Set assistants = context.getKernel().listGBeans(assistantName);
                if (assistants.size() < 1 || assistants.size() > 1) throw new GeronimoSecurityException("Only one auto mapping assistant should match " + assistantName);

                org.apache.geronimo.security.realm.AutoMapAssistant assistant = (org.apache.geronimo.security.realm.AutoMapAssistant) assistants.iterator().next();
                String realmName = ((SecurityRealm) assistant).getRealmName();
                Iterator principalClasses = null;
                if (config.getClassOverrides().size() > 0) {
                    principalClasses = config.getClassOverrides().iterator();
                } else {
                    principalClasses = assistant.obtainRolePrincipalClasses().iterator();
                }

                Iterator roles = securityRoles.iterator();
                while (roles.hasNext()) {
                    String roleName = (String) roles.next();
                    Set principalSet = new HashSet();
                    Subject roleDesignate = new Subject();

                    while (principalClasses.hasNext()) {
                        Principal principal = new Principal();
                        principal.setClassName((String) principalClasses.next());
                        principal.setPrincipalName(roleName);

                        RealmPrincipal realmPrincipal = ConfigurationUtil.generateRealmPrincipal(principal, realmName);
                        if (realmPrincipal == null) throw new GeronimoSecurityException("Unable to create realm principal");

                        principalSet.add(realmPrincipal);
                        roleDesignate.getPrincipals().add(realmPrincipal);
                    }
                    roleMapper.addRoleMapping(roleName, principalSet);
                    if (roleDesignate.getPrincipals().size() > 0) context.setRoleDesignate(roleName, roleDesignate);
                }
            }
        } catch (MalformedObjectNameException e) {
            throw new GeronimoSecurityException("Bad object name geronimo.security:type=SecurityRealm,realm=" + config.getSecurityRealm());
        }
    }
View Full Code Here

                }
            }

            GerAutoMapRolesType autoMapRolesType = securityType.getAutoMapRoles();
            if (autoMapRolesType != null) {
                AutoMapAssistant assistant = new AutoMapAssistant();

                assistant.setSecurityRealm(autoMapRolesType.getSecurityRealm());

                GerClassOverrideType[] classOverrideArray = autoMapRolesType.getClassOverrideArray();
                for (int i = 0; i < classOverrideArray.length; i++) {
                    assistant.getClassOverrides().add(classOverrideArray[i].getClass1());
                }

                security.setAssistant(assistant);
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.geronimo.security.deploy.AutoMapAssistant

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.