Package org.jboss.ejb3.annotation

Examples of org.jboss.ejb3.annotation.SecurityDomain


                  .getUnauthenticatedPrincipal());

         addClassAnnotation(container, annotation.annotationType(), annotation);
      } else if (dd.getUnauthenticatedPrincipal() != null)
      {
         SecurityDomain annotation = ejbClass.getAnnotation(SecurityDomain.class);
         SecurityDomainImpl override;
         if (annotation != null)
         {
            override = new SecurityDomainImpl(annotation.value());
            override.setUnauthenticatedPrincipal(dd
                  .getUnauthenticatedPrincipal());
         }
         else
         {
View Full Code Here


   public <T> T getSecurityManager(Class<T> type)
   {
      try
      {
         InitialContext ctx = getInitialContext();
         SecurityDomain securityAnnotation = (SecurityDomain) resolveAnnotation(SecurityDomain.class);
         if (securityAnnotation != null && securityAnnotation.value().length() > 0)
         {
            return (T) SecurityDomainManager.getSecurityManager(securityAnnotation.value(),ctx);
         }
         return null;
      }
      catch (NamingException e)
      {
View Full Code Here

            shelper.isMDB(container))
         return invocation.invokeNext();
     
      try
      {
         SecurityDomain domain = (SecurityDomain)container.resolveAnnotation(SecurityDomain.class);
        
         boolean domainExists = domain != null && domain.value() != null
         && domain.value().length() > 0;
        
         if(domainExists)
         {
            SecurityContext sc = SecurityActions.getSecurityContext();
            if(sc == null)
View Full Code Here

         RealmMapping rm = container.getSecurityManager(RealmMapping.class);
        
         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
         if(sc == null)
         {
            SecurityDomain domain =(SecurityDomain)ec.resolveAnnotation(SecurityDomain.class);
            String unauth = domain.unauthenticatedPrincipal();
            if(unauth != null && unauth.length() > 0)
            if(domain.unauthenticatedPrincipal() != null)
              callerPrincipal = new SimplePrincipal(unauth);            
         }
         else
         {
            EJBAuthorizationHelper helper = new EJBAuthorizationHelper(sc);
            callerPrincipal = helper.getCallerPrincipal(rm);
         }
        
         if(callerPrincipal == null)
         {
            //try the incoming principal
            callerPrincipal = sc.getUtil().getUserPrincipal();
            if(rm != null)
               callerPrincipal = rm.getPrincipal(callerPrincipal);
         }
        
         if(callerPrincipal == null)
         {
            SecurityDomain domain =(SecurityDomain)ec.resolveAnnotation(SecurityDomain.class);
            String unauth = domain.unauthenticatedPrincipal();
            if(unauth != null && unauth.length() > 0)
            if(domain.unauthenticatedPrincipal() != null)
              callerPrincipal = new SimplePrincipal(unauth);
         }
        
         // This method never returns null.
         if (callerPrincipal == null)
View Full Code Here

   {
      EJBContainer ejbc = (EJBContainer)container;
      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
      if(sc == null)
      {
         SecurityDomain domain =(SecurityDomain)ejbc.resolveAnnotation(SecurityDomain.class);
         try
         {
            sc = SecurityActions.createSecurityContext(domain.value());
         }
         catch (PrivilegedActionException e)
         {
            throw new RuntimeException(e);
         }             
View Full Code Here

      Object domain = null;
      Container container = (Container)advisor;
      try
      {
         InitialContext ctx = container.getInitialContext();
         SecurityDomain securityAnnotation = (SecurityDomain) advisor.resolveAnnotation(SecurityDomain.class);
        
         //If there is no annotation, return a null action interceptor
         if(securityAnnotation == null)
            return new NullInterceptor();
        
         domain = SecurityDomainManager.getSecurityManager(securityAnnotation.value(), ctx);
      }
      catch (NamingException e)
      {
         throw new RuntimeException(e);
      }
View Full Code Here

      }
   }

   private static void addPermissions(EJBContainer container, PolicyConfiguration pc)
   {
      SecurityDomain sd = (SecurityDomain) container.resolveAnnotation(SecurityDomain.class);

      PermitAll beanUnchecked = (PermitAll) container.resolveAnnotation(PermitAll.class);
      RolesAllowed beanPermissions = (RolesAllowed) container.resolveAnnotation(RolesAllowed.class);
     
      DeclareRoles beanDeclareRolesPerms = (DeclareRoles)container.resolveAnnotation(DeclareRoles.class);
View Full Code Here

      throw new EJBAccessException("Authentication failure");
   }

   public Object invoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable
   {
      SecurityDomain domain = (SecurityDomain)container.resolveAnnotation(SecurityDomain.class);
     
      if (domain != null && domain.unauthenticatedPrincipal() != null && domain.unauthenticatedPrincipal().length() != 0)
      {
         Principal principal = (Principal)invocation.getMetaData("security", "principal");
         if (principal == null)
            principal = SecurityAssociation.getPrincipal();
        
         if (principal == null)
         {
            // we don't have a principal, but we do have an unauthenticatedPrincipal we can use
            principal = new TrustedPrincipal(domain.unauthenticatedPrincipal());
           
            // this will be picked up by the AuthenticationInterceptor
            invocation.getMetaData().addMetaData("security", "principal", principal);
         }
        
View Full Code Here

     
      SecurityIdentity si = null;
      SecurityContext sc = SecurityActions.getSecurityContext();
      SecurityContext invSC = (SecurityContext) invocation.getMetaData("security","context");
     
      SecurityDomain domain = (SecurityDomain)container.resolveAnnotation(SecurityDomain.class);
     
      boolean domainExists = domain != null && domain.value() != null
                    && domain.value().length() > 0;
      
      /**
       * TODO: Decide if you want to allow zero security based on non-availability
       * of a security domain, as per the configuration on the container
       */
      if(domainExists)
      {
         Principal p = null;
         Object cred = null;
        
         //There is no security context at all
         if(sc == null && invSC == null)
         {
            sc = SecurityActions.createSecurityContext(domain.value());
            SecurityActions.setSecurityContext(sc);
         }
        
         if(shelper.isLocalCall(mi))
         {
            if(sc == null)
               throw new IllegalStateException("Security Context null on Local call");
            si = sc.getUtil().getSecurityIdentity();
         }
         else
         {
            if(invSC == null && sc == null)
               throw new IllegalStateException("Security Context is not available");
           
            //If there was a SecurityContext over the invocation, that takes preference
            if(invSC != null)
            {
               sc = invSC;
               p = sc.getUtil().getUserPrincipal();
               cred = sc.getUtil().getCredential();
               String unprefixed = SecurityUtil.unprefixSecurityDomain(domain.value());
               sc = SecurityActions.createSecurityContext(p,
                     cred, null, unprefixed);
              
               //Set the security context
               SecurityActions.setSecurityContext(sc);
View Full Code Here

      Object domain = null;
      try
      {
         InitialContext ctx = container.getInitialContext();
         SecurityDomain securityDomain = (SecurityDomain) advisor.resolveAnnotation(SecurityDomain.class);
         if (securityDomain != null)
         {
            String domainName = securityDomain.value();
            domain = SecurityDomainManager.getSecurityManager(domainName, ctx);
         }
      }
      catch (NamingException e)
      {
View Full Code Here

TOP

Related Classes of org.jboss.ejb3.annotation.SecurityDomain

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.