1 package net.sf.jguard.core.authorization.policy; 2 3 import java.io.FilePermission ; 4 import java.security.AccessControlException ; 5 import java.security.Permission ; 6 import java.security.PrivilegedActionException ; 7 import java.security.PrivilegedExceptionAction ; 8 9 import javax.security.auth.Subject ; 10 11 import junit.framework.TestCase; 12 import net.sf.jguard.core.authorization.permissions.URLPermission; 13 import net.sf.jguard.core.principals.RolePrincipal; 14 15 public class LocalAccessControllerTest extends TestCase { 16 17 protected void setUp() throws Exception { 18 super.setUp(); 19 } 20 21 public void testCheckPermission() throws PrivilegedActionException { 22 DummyPolicy policy = new DummyPolicy(); 23 final Permission permission = new URLPermission("name"); 24 policy.addPermission(permission); 25 final Subject subject = new Subject (); 26 RolePrincipal principal = new RolePrincipal(); 27 principal.addPermission(permission); 28 subject.getPrincipals().add(principal); 29 final LocalAccessController accessController = new LocalAccessController(policy); 30 try{ 31 Subject.doAsPrivileged(subject, new PrivilegedExceptionAction () { 32 public Object run() { 33 accessController.checkPermission(permission); 36 return null; 40 } 41 },null); 42 }catch(AccessControlException ace){ 43 fail(" user is not granted although if he has got the right permission "); 44 } 45 final Permission permission2 = new FilePermission ("/toto","delete"); 46 try{ 47 Subject.doAsPrivileged(subject, new PrivilegedExceptionAction () { 48 public Object run() { 49 accessController.checkPermission(permission2); 52 return null; 56 } 57 },null); 58 fail(" user is granted although if he hasn't got the right permission "); 59 }catch(AccessControlException ace){ 60 } 62 63 64 } 65 66 } 67 | Popular Tags |