From 130e70373f62115931ea3de570a9aedc6b567bc9 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Fri, 8 Aug 2008 16:41:23 +0000 Subject: [PATCH] SEC-936: Initial test which fails to reproduce the problem --- core-tiger/pom.xml | 7 ++++++- ...ethodSecurityBeanDefinitionParserTests.java | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/core-tiger/pom.xml b/core-tiger/pom.xml index fde21fb41a..b2cc8588de 100644 --- a/core-tiger/pom.xml +++ b/core-tiger/pom.xml @@ -21,7 +21,12 @@ ${project.version} tests test - + + + org.springframework + spring-remoting + test + org.aspectj aspectjrt diff --git a/core-tiger/src/test/java/org/springframework/security/config/GlobalMethodSecurityBeanDefinitionParserTests.java b/core-tiger/src/test/java/org/springframework/security/config/GlobalMethodSecurityBeanDefinitionParserTests.java index ed06f600e6..3f8c1d34e2 100644 --- a/core-tiger/src/test/java/org/springframework/security/config/GlobalMethodSecurityBeanDefinitionParserTests.java +++ b/core-tiger/src/test/java/org/springframework/security/config/GlobalMethodSecurityBeanDefinitionParserTests.java @@ -1,6 +1,7 @@ package org.springframework.security.config; import static org.junit.Assert.assertEquals; +import static org.springframework.security.config.ConfigTestUtils.*; import org.junit.After; import org.junit.Test; @@ -113,6 +114,23 @@ public class GlobalMethodSecurityBeanDefinitionParserTests { ); } + @Test(expected=AccessDeniedException.class) + public void worksWithoutTargetOrClass() { + setContext( + "" + + "" + + " " + + " " + + "" + AUTH_PROVIDER_XML + ); + + UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_SOMEOTHERROLE")}); + SecurityContextHolder.getContext().setAuthentication(token); + target = (BusinessService) appContext.getBean("businessService"); + target.someUserMethod1(); + } + private void setContext(String context) { appContext = new InMemoryXmlApplicationContext(context); }