1 22 package org.jboss.ejb3.test.initial; 23 24 import javax.ejb.EJBAccessException ; 25 import javax.naming.InitialContext ; 26 import org.jboss.logging.Logger; 27 import org.jboss.security.SecurityAssociation; 28 import org.jboss.security.SimplePrincipal; 29 30 37 public class SecurityTester implements SecurityTesterMBean 38 { 39 static Logger log = Logger.getLogger(SecurityTester.class); 40 41 public void test() throws Exception 42 { 43 InitialContext ctx = new InitialContext (); 44 SecuredTest test = (SecuredTest) ctx.lookup("SecuredTestBean/local"); 45 46 SecurityAssociation.setPrincipal(new SimplePrincipal("somebody")); 47 SecurityAssociation.setCredential("password".toCharArray()); 48 49 test.unchecked(); 50 test.testDefault(); 51 test.secured(); 52 53 SecurityAssociation.setPrincipal(new SimplePrincipal("authfail")); 54 55 boolean securityFailure = true; 56 try 57 { 58 test.secured(); 59 } 60 catch (EJBAccessException ignored) 61 { 62 log.info(ignored.getMessage()); 63 securityFailure = false; 64 } 65 66 if (securityFailure) throw new RuntimeException ("auth failure was not caught for method"); 67 68 securityFailure = true; 69 SecurityAssociation.setPrincipal(new SimplePrincipal("rolefail")); 70 try 71 { 72 test.secured(); 73 } 74 catch (EJBAccessException ignored) 75 { 76 log.info(ignored.getMessage()); 77 securityFailure = false; 78 } 79 if (securityFailure) throw new RuntimeException ("role failure was not caught for method"); 80 81 SecurityAssociation.setPrincipal(new SimplePrincipal("somebody")); 82 log.info("test exclusion"); 83 securityFailure = true; 84 try 85 { 86 test.excluded(); 87 } 88 catch (EJBAccessException ignored) 89 { 90 log.info(ignored.getMessage()); 91 securityFailure = false; 92 } 93 if (securityFailure) throw new RuntimeException ("excluded failure was not caught for method"); 94 95 } 96 97 } 98 99 100 101 | Popular Tags |