Examples of EJBMethodPermission


Examples of javax.security.jacc.EJBMethodPermission

    StringTokenizer tok = new StringTokenizer( action, "," );

    while ( tok.hasMoreTokens() ) {
      String methodName = tok.nextToken().trim();
      EJBMethodPermission permission = new EJBMethodPermission(
          entityName,
          methodName,
          null, // interfaces
          null // arguments
        );
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

  public JACCPreUpdateEventListener(String contextId) {
    this.contextId = contextId;
  }

  public boolean onPreUpdate(PreUpdateEvent event) {
    final EJBMethodPermission updatePermission = new EJBMethodPermission(
        event.getPersister().getEntityName(),
        HibernatePermission.UPDATE,
        null,
        null
    );
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

  public JACCPreLoadEventListener(String contextId) {
    this.contextId = contextId;
  }

  public void onPreLoad(PreLoadEvent event) {
    final EJBMethodPermission loadPermission = new EJBMethodPermission(
        event.getPersister().getEntityName(),
        HibernatePermission.READ,
        null,
        null
    );
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

            InterfaceType type = deploymentInfo.getInterfaceType(method.getDeclaringClass());

            String name = (type == null)? null: type.getSpecName();

            Permission permission = new EJBMethodPermission(ejbName, name, method);

            if (permission != null) securityContext.acc.checkPermission(permission);

        } catch (AccessControlException e) {
            return false;
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

                        if (!component.isDenyAllApplicableToClass(viewClassName, ejbClassName)) {
                            denyOnAllViews = false;
                        } else {
                            EJBViewDescription ejbView = EJBViewDescription.class.cast(view);
                            MethodInterfaceType type = getMethodInterfaceType(ejbView.getMethodIntf());
                            EJBMethodPermission p = new EJBMethodPermission(ejbName, null, type.name(), null);
                            permissions.add(p);
                        }
                        if (!component.isPermitAllApplicableToClass(viewClassName, ejbClassName)) {
                            permitOnAllViews = false;
                        } else {
                            EJBViewDescription ejbView = EJBViewDescription.class.cast(view);
                            MethodInterfaceType type = getMethodInterfaceType(ejbView.getMethodIntf());
                            EJBMethodPermission p = new EJBMethodPermission(ejbName, null, type.name(), null);
                            uncheckedPermissions.add(p);
                        }
                        Set<String> roles = component.getRolesAllowedForClass(viewClassName, ejbClassName);
                        for (String role : roles) {
                            policyConfiguration.addToRole(role, new EJBMethodPermission(ejbName, null, null, null));
                        }

                        // check method level
                        Collection<EJBMethodIdentifier> methods = component.getDenyAllMethodsForView(viewClassName);
                        for (EJBMethodIdentifier method : methods) {
                            MethodIdentifier identifier = method.getMethodIdentifier();
                            EJBViewDescription ejbView = EJBViewDescription.class.cast(view);
                            MethodInterfaceType type = getMethodInterfaceType(ejbView.getMethodIntf());
                            EJBMethodPermission p = new EJBMethodPermission(ejbName, identifier.getName(), type.name(),
                                    identifier.getParameterTypes());
                            policyConfiguration.addToExcludedPolicy(p);
                        }
                        methods = component.getPermitAllMethodsForView(viewClassName);
                        for (EJBMethodIdentifier method : methods) {
                            MethodIdentifier identifier = method.getMethodIdentifier();
                            EJBViewDescription ejbView = EJBViewDescription.class.cast(view);
                            MethodInterfaceType type = getMethodInterfaceType(ejbView.getMethodIntf());
                            EJBMethodPermission p = new EJBMethodPermission(ejbName, identifier.getName(), type.name(),
                                    identifier.getParameterTypes());
                            policyConfiguration.addToUncheckedPolicy(p);
                        }
                        Map<EJBMethodIdentifier, Set<String>> rolesMap = component.getRolesAllowed(viewClassName);
                        for (Entry<EJBMethodIdentifier, Set<String>> entry : rolesMap.entrySet()) {
                            MethodIdentifier identifier = entry.getKey().getMethodIdentifier();
                            EJBViewDescription ejbView = EJBViewDescription.class.cast(view);
                            MethodInterfaceType type = getMethodInterfaceType(ejbView.getMethodIntf());
                            for (String role : entry.getValue()) {
                                EJBMethodPermission p = new EJBMethodPermission(ejbName, identifier.getName(), type.name(),
                                        identifier.getParameterTypes());
                                policyConfiguration.addToRole(role, p);
                            }
                        }
                    }
                    // if deny is on all views, we add permission with null as the interface
                    if (denyOnAllViews) {
                        permissions = new ArrayList<EJBMethodPermission>();
                        permissions.add(new EJBMethodPermission(ejbName, null, null, null));
                    }

                    // add exclude-list permissions
                    for (EJBMethodPermission ejbMethodPermission : permissions) {
                        policyConfiguration.addToExcludedPolicy(ejbMethodPermission);
                    }

                    // if permit is on all views, we add permission with null as the interface
                    if (permitOnAllViews) {
                        uncheckedPermissions = new ArrayList<EJBMethodPermission>();
                        uncheckedPermissions.add(new EJBMethodPermission(ejbName, null, null, null));
                    }

                    // add method-permission permissions
                    for (EJBMethodPermission ejbMethodPermission : uncheckedPermissions) {
                        policyConfiguration.addToUncheckedPolicy(ejbMethodPermission);
                    }

                    // Process the security-role-ref
                    Map<String, Collection<String>> securityRoles = component.getSecurityRoleLinks();
                    for (Entry<String, Collection<String>> entry : securityRoles.entrySet()) {
                        String roleName = entry.getKey();
                        for (String roleLink : entry.getValue()) {
                            EJBRoleRefPermission p = new EJBRoleRefPermission(ejbName, roleName);
                            policyConfiguration.addToRole(roleLink, p);
                        }
                    }

                    /*
                     * Special handling of stateful session bean getEJBObject due how the stateful session handles acquire the
                     * proxy by sending an invocation to the ejb container.
                     */
                    if (component instanceof SessionBeanComponentDescription) {
                        SessionBeanComponentDescription session = SessionBeanComponentDescription.class.cast(component);
                        if (session.isStateful()) {
                            EJBMethodPermission p = new EJBMethodPermission(ejbName, "getEJBObject", "Home", null);
                            policyConfiguration.addToUncheckedPolicy(p);
                        }
                    }
                }
            }
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

            String name = (type == null)? null: type.getSpecName();
            if ("LocalBean".equals(name) || "LocalBeanHome".equals(name)) {
                name = null;
            }

            Permission permission = new EJBMethodPermission(ejbName, name, method);

            if (permission != null) securityContext.acc.checkPermission(permission);

        } catch (AccessControlException e) {
            return false;
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

                } else {
                    methodParams = null;
                }

                // create the permission object
                EJBMethodPermission permission = new EJBMethodPermission(ejbName, methodName, methodIntf, methodParams);
                notAssigned = cullPermissions(notAssigned, permission);

                // if this is unchecked, mark it as unchecked; otherwise assign the roles
                if (unchecked) {
                    uncheckedPermissions.add(permission);
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

     */
    public void addPossibleEjbMethodPermissions(Permissions permissions, String ejbName, String methodInterface, Class clazz) throws OpenEJBException {
        if (clazz == null) return;
        for (java.lang.reflect.Method method : clazz.getMethods()) {
            String methodIface = ("LocalBean".equals(methodInterface) || "LocalBeanHome".equals(methodInterface)) ? null : methodInterface;
            permissions.add(new EJBMethodPermission(ejbName, methodIface, method));
        }
    }
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

  
   
  
   private void checkUncheckedPermissions(Permissions p)
   {
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "findByPrimaryKey,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "create,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getEJBMetaData,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "remove,Home,java.lang.Object")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "remove,Home,javax.ejb.Handle")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getHomeHandle,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getPrimaryKey,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getEJBHome,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getArg2,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "accessJACCSession_getCallerName,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "remove,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "isIdentical,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getHandle,Remote")));
     
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "create,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "remove,Home,java.lang.Object")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "remove,Home,javax.ejb.Handle")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getEJBMetaData,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getHomeHandle,Home")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getEJBHome,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getPrimaryKey,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "remove,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "isIdentical,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getCallerName,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getHandle,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getArg2,Remote")));
   }
View Full Code Here

Examples of javax.security.jacc.EJBMethodPermission

      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getArg2,Remote")));
   }
  
   private void checkExcludedPermissions(Permissions p)
   {
      assertTrue(p.implies(new EJBMethodPermission("JACCSession", "getArg3,Remote")));
      assertTrue(p.implies(new EJBMethodPermission("JACCEntity", "getArg3,Remote")));
   }  
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.