⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicaclentryafterinvocationcollectionfilteringprovidertests.java

📁 acegi构造安全的java系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        assertEquals("belmont", filteredList[0]);    }    public void testDetectsIfReturnedObjectIsNotACollection()        throws Exception {        // Create an AclManager        AclManager aclManager = new MockAclManager("belmont", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.ADMINISTRATION),                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.READ),                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.DELETE),                    new MockAclEntry()                });        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        provider.setAclManager(aclManager);        provider.afterPropertiesSet();        // Create the Authentication and Config Attribs we'll be presenting        UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken("marissa", "NOT_USED");        ConfigAttributeDefinition attr = new ConfigAttributeDefinition();        attr.addConfigAttribute(new SecurityConfig("AFTER_ACL_COLLECTION_READ"));        // Filter        try {            provider.decide(auth, new SimpleMethodInvocation(), attr, new String("RETURN_OBJECT_NOT_COLLECTION"));            fail("Should have thrown AuthorizationServiceException");        } catch (AuthorizationServiceException expected) {            assertTrue(true);        }    }    public void testGrantsAccessIfReturnedObjectIsNull()        throws Exception {        // Create an AclManager        AclManager aclManager = new MockAclManager("belmont", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.ADMINISTRATION),                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.READ),                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.DELETE),                    new MockAclEntry()                });        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        provider.setAclManager(aclManager);        provider.afterPropertiesSet();        // Create the Authentication and Config Attribs we'll be presenting        UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken("marissa", "NOT_USED");        ConfigAttributeDefinition attr = new ConfigAttributeDefinition();        attr.addConfigAttribute(new SecurityConfig("AFTER_ACL_COLLECTION_READ"));        // Filter        List filteredList = (List) provider.decide(auth, new SimpleMethodInvocation(), attr, null);        assertNull(filteredList);    }    public void testRespectsModificationsToProcessConfigAttribute()        throws Exception {        // Create an AclManager        AclManager aclManager = new MockAclManager("sydney", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.READ),                    new MockAclEntry()                });        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        provider.setAclManager(aclManager);        assertEquals("AFTER_ACL_COLLECTION_READ", provider.getProcessConfigAttribute());        provider.setProcessConfigAttribute("AFTER_ACL_COLLECTION_ADMIN");        assertEquals("AFTER_ACL_COLLECTION_ADMIN", provider.getProcessConfigAttribute());        provider.afterPropertiesSet();        // Create a Collection containing many items, which only "sydney"        // should remain in after filtering by provider        List list = new Vector();        list.add("sydney");        list.add("melbourne");        list.add("belmont");        list.add("brisbane");        // Create the Authentication and Config Attribs we'll be presenting        UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken("marissa", "NOT_USED");        ConfigAttributeDefinition attr = new ConfigAttributeDefinition();        attr.addConfigAttribute(new SecurityConfig("AFTER_ACL_COLLECTION_READ"));        // As no matching config attrib, ensure provider doesn't change list        assertEquals(4, ((List) provider.decide(auth, new SimpleMethodInvocation(), attr, list)).size());        // Filter, this time with the conf attrib provider setup to answer        attr.addConfigAttribute(new SecurityConfig("AFTER_ACL_COLLECTION_ADMIN"));        List filteredList = (List) provider.decide(auth, new SimpleMethodInvocation(), attr, list);        assertEquals(1, filteredList.size());        assertEquals("sydney", filteredList.get(0));    }    public void testRespectsModificationsToRequirePermissions()        throws Exception {        // Create an AclManager        AclManager aclManager = new MockAclManager("sydney", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.ADMINISTRATION),                    new MockAclEntry()                });        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        provider.setAclManager(aclManager);        assertEquals(SimpleAclEntry.READ, provider.getRequirePermission()[0]);        provider.setRequirePermission(new int[] {SimpleAclEntry.ADMINISTRATION});        assertEquals(SimpleAclEntry.ADMINISTRATION, provider.getRequirePermission()[0]);        provider.afterPropertiesSet();        // Create a Collection containing many items, which only "sydney"        // should remain in after filtering by provider        List list = new Vector();        list.add("sydney");        list.add("melbourne");        list.add("belmont");        list.add("brisbane");        // Create the Authentication and Config Attribs we'll be presenting        UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken("marissa", "NOT_USED");        ConfigAttributeDefinition attr = new ConfigAttributeDefinition();        attr.addConfigAttribute(new SecurityConfig("AFTER_ACL_COLLECTION_READ"));        // Filter        List filteredList = (List) provider.decide(auth, new SimpleMethodInvocation(), attr, list);        assertEquals(1, filteredList.size());        assertEquals("sydney", filteredList.get(0));    }    public void testStartupDetectsMissingAclManager() throws Exception {        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        try {            provider.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("An aclManager is mandatory", expected.getMessage());        }    }    public void testStartupDetectsMissingProcessConfigAttribute()        throws Exception {        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        AclManager aclManager = new MockAclManager("sydney", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.ADMINISTRATION),                    new MockAclEntry()                });        provider.setAclManager(aclManager);        provider.setProcessConfigAttribute(null);        try {            provider.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A processConfigAttribute is mandatory", expected.getMessage());        }    }    public void testStartupDetectsMissingRequirePermission()        throws Exception {        BasicAclEntryAfterInvocationCollectionFilteringProvider provider = new BasicAclEntryAfterInvocationCollectionFilteringProvider();        AclManager aclManager = new MockAclManager("sydney", "marissa",                new AclEntry[] {                    new SimpleAclEntry("marissa", new MockAclObjectIdentity(), null, SimpleAclEntry.ADMINISTRATION),                    new MockAclEntry()                });        provider.setAclManager(aclManager);        provider.setRequirePermission(null);        try {            provider.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("One or more requirePermission entries is mandatory", expected.getMessage());        }    }    public void testSupportsAnything() {        assertTrue(new BasicAclEntryAfterInvocationCollectionFilteringProvider().supports(String.class));    }    //~ Inner Classes ==================================================================================================    private class MockAclEntry implements AclEntry {        // just so AclTag iterates some different types of AclEntrys    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -