Search in sources :

Example 21 with SimplePermissionEntry

use of org.alfresco.repo.security.permissions.impl.SimplePermissionEntry in project alfresco-repository by Alfresco.

the class ACLEntryVoterTest method testMultiChildAssocRefMethodsArg2.

public void testMultiChildAssocRefMethodsArg2() throws Exception {
    runAs("andy");
    Object o = new ClassWithMethods();
    Method method = o.getClass().getMethod("testManyChildAssociationRef", new Class[] { ChildAssociationRef.class, ChildAssociationRef.class, ChildAssociationRef.class, ChildAssociationRef.class });
    AdvisorAdapterRegistry advisorAdapterRegistry = GlobalAdvisorAdapterRegistry.getInstance();
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.addAdvisor(advisorAdapterRegistry.wrap(new Interceptor("ACL_NODE.2.sys:base.Read")));
    proxyFactory.setTargetSource(new SingletonTargetSource(o));
    Object proxy = proxyFactory.getProxy();
    method.invoke(proxy, new Object[] { null, null, null, null });
    try {
        method.invoke(proxy, new Object[] { null, null, nodeService.getPrimaryParent(rootNodeRef), null });
        assertNotNull(null);
    } catch (InvocationTargetException e) {
    }
    permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED));
    method.invoke(proxy, new Object[] { null, null, nodeService.getPrimaryParent(rootNodeRef), null });
}
Also used : SingletonTargetSource(org.springframework.aop.target.SingletonTargetSource) ProxyFactory(org.springframework.aop.framework.ProxyFactory) GlobalAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry) AdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry) SimplePermissionEntry(org.alfresco.repo.security.permissions.impl.SimplePermissionEntry) Method(java.lang.reflect.Method) MethodInterceptor(org.aopalliance.intercept.MethodInterceptor) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 22 with SimplePermissionEntry

use of org.alfresco.repo.security.permissions.impl.SimplePermissionEntry in project alfresco-repository by Alfresco.

the class ACLEntryVoterTest method testAllowChildAssocNode.

public void testAllowChildAssocNode() throws Exception {
    runAs("andy");
    permissionService.setPermission(new SimplePermissionEntry(systemNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED));
    permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ_CHILDREN), "andy", AccessStatus.ALLOWED));
    Object o = new ClassWithMethods();
    Method method = o.getClass().getMethod("testOneChildAssociationRef", new Class[] { ChildAssociationRef.class });
    AdvisorAdapterRegistry advisorAdapterRegistry = GlobalAdvisorAdapterRegistry.getInstance();
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.addAdvisor(advisorAdapterRegistry.wrap(new Interceptor("ACL_NODE.0.sys:base.Read")));
    proxyFactory.setTargetSource(new SingletonTargetSource(o));
    Object proxy = proxyFactory.getProxy();
    method.invoke(proxy, new Object[] { nodeService.getPrimaryParent(systemNodeRef) });
}
Also used : SingletonTargetSource(org.springframework.aop.target.SingletonTargetSource) ProxyFactory(org.springframework.aop.framework.ProxyFactory) SimplePermissionEntry(org.alfresco.repo.security.permissions.impl.SimplePermissionEntry) GlobalAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry) AdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry) Method(java.lang.reflect.Method) MethodInterceptor(org.aopalliance.intercept.MethodInterceptor)

Example 23 with SimplePermissionEntry

use of org.alfresco.repo.security.permissions.impl.SimplePermissionEntry in project alfresco-repository by Alfresco.

the class ACLEntryVoterTest method testMultiChildAssocRefMethodsArg0.

public void testMultiChildAssocRefMethodsArg0() throws Exception {
    runAs("andy");
    Object o = new ClassWithMethods();
    Method method = o.getClass().getMethod("testManyChildAssociationRef", new Class[] { ChildAssociationRef.class, ChildAssociationRef.class, ChildAssociationRef.class, ChildAssociationRef.class });
    AdvisorAdapterRegistry advisorAdapterRegistry = GlobalAdvisorAdapterRegistry.getInstance();
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.addAdvisor(advisorAdapterRegistry.wrap(new Interceptor("ACL_NODE.0.sys:base.Read")));
    proxyFactory.setTargetSource(new SingletonTargetSource(o));
    Object proxy = proxyFactory.getProxy();
    method.invoke(proxy, new Object[] { null, null, null, null });
    try {
        method.invoke(proxy, new Object[] { nodeService.getPrimaryParent(rootNodeRef), null, null, null });
        assertNotNull(null);
    } catch (InvocationTargetException e) {
    }
    permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED));
    method.invoke(proxy, new Object[] { nodeService.getPrimaryParent(rootNodeRef), null, null, null });
}
Also used : SingletonTargetSource(org.springframework.aop.target.SingletonTargetSource) ProxyFactory(org.springframework.aop.framework.ProxyFactory) GlobalAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry) AdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry) SimplePermissionEntry(org.alfresco.repo.security.permissions.impl.SimplePermissionEntry) Method(java.lang.reflect.Method) MethodInterceptor(org.aopalliance.intercept.MethodInterceptor) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 24 with SimplePermissionEntry

use of org.alfresco.repo.security.permissions.impl.SimplePermissionEntry in project alfresco-repository by Alfresco.

the class ACLEntryVoterTest method testMultiNodeMethodsArg1.

public void testMultiNodeMethodsArg1() throws Exception {
    runAs("andy");
    Object o = new ClassWithMethods();
    Method method = o.getClass().getMethod("testManyNodeRef", new Class[] { NodeRef.class, NodeRef.class, NodeRef.class, NodeRef.class });
    AdvisorAdapterRegistry advisorAdapterRegistry = GlobalAdvisorAdapterRegistry.getInstance();
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.addAdvisor(advisorAdapterRegistry.wrap(new Interceptor("ACL_NODE.1.sys:base.Read")));
    proxyFactory.setTargetSource(new SingletonTargetSource(o));
    Object proxy = proxyFactory.getProxy();
    method.invoke(proxy, new Object[] { null, null, null, null });
    try {
        method.invoke(proxy, new Object[] { null, rootNodeRef, null, null });
        assertNotNull(null);
    } catch (InvocationTargetException e) {
    }
    permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED));
    method.invoke(proxy, new Object[] { null, rootNodeRef, null, null });
}
Also used : SingletonTargetSource(org.springframework.aop.target.SingletonTargetSource) ProxyFactory(org.springframework.aop.framework.ProxyFactory) GlobalAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry) AdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry) SimplePermissionEntry(org.alfresco.repo.security.permissions.impl.SimplePermissionEntry) Method(java.lang.reflect.Method) MethodInterceptor(org.aopalliance.intercept.MethodInterceptor) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 25 with SimplePermissionEntry

use of org.alfresco.repo.security.permissions.impl.SimplePermissionEntry in project alfresco-repository by Alfresco.

the class ACLEntryVoterTest method testMultiNodeMethodsArg3.

public void testMultiNodeMethodsArg3() throws Exception {
    runAs("andy");
    Object o = new ClassWithMethods();
    Method method = o.getClass().getMethod("testManyNodeRef", new Class[] { NodeRef.class, NodeRef.class, NodeRef.class, NodeRef.class });
    AdvisorAdapterRegistry advisorAdapterRegistry = GlobalAdvisorAdapterRegistry.getInstance();
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.addAdvisor(advisorAdapterRegistry.wrap(new Interceptor("ACL_NODE.3.sys:base.Read")));
    proxyFactory.setTargetSource(new SingletonTargetSource(o));
    Object proxy = proxyFactory.getProxy();
    method.invoke(proxy, new Object[] { null, null, null, null });
    try {
        method.invoke(proxy, new Object[] { null, null, null, rootNodeRef });
        assertNotNull(null);
    } catch (InvocationTargetException e) {
    }
    permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED));
    method.invoke(proxy, new Object[] { null, null, null, rootNodeRef });
}
Also used : SingletonTargetSource(org.springframework.aop.target.SingletonTargetSource) ProxyFactory(org.springframework.aop.framework.ProxyFactory) GlobalAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry) AdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry) SimplePermissionEntry(org.alfresco.repo.security.permissions.impl.SimplePermissionEntry) Method(java.lang.reflect.Method) MethodInterceptor(org.aopalliance.intercept.MethodInterceptor) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Aggregations

SimplePermissionEntry (org.alfresco.repo.security.permissions.impl.SimplePermissionEntry)32 Method (java.lang.reflect.Method)26 MethodInterceptor (org.aopalliance.intercept.MethodInterceptor)26 ProxyFactory (org.springframework.aop.framework.ProxyFactory)26 AdvisorAdapterRegistry (org.springframework.aop.framework.adapter.AdvisorAdapterRegistry)26 GlobalAdvisorAdapterRegistry (org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry)26 SingletonTargetSource (org.springframework.aop.target.SingletonTargetSource)26 InvocationTargetException (java.lang.reflect.InvocationTargetException)10 NodeRef (org.alfresco.service.cmr.repository.NodeRef)8 ArrayList (java.util.ArrayList)6 Collection (java.util.Collection)3 SimpleNodePermissionEntry (org.alfresco.repo.security.permissions.impl.SimpleNodePermissionEntry)3 HashSet (java.util.HashSet)2 ChildAssocRefResultSet (org.alfresco.repo.search.results.ChildAssocRefResultSet)2 AccessControlEntry (org.alfresco.repo.security.permissions.AccessControlEntry)2 AccessControlList (org.alfresco.repo.security.permissions.AccessControlList)2 SimpleAccessControlEntry (org.alfresco.repo.security.permissions.SimpleAccessControlEntry)2 ChildAssociationRef (org.alfresco.service.cmr.repository.ChildAssociationRef)2 ResultSet (org.alfresco.service.cmr.search.ResultSet)2 LinkedList (java.util.LinkedList)1