This problem is a long term battle and I've been trying to solve it every now and then. I took a look at the logs and thought that the method security is actually working, it's just authorizing people it shouldn't. Am I correct? The logs:
2013-02-11 09:12:49,052 [btpool0-4] DEBUG btpool0-4 org.springframework.security.access.intercept.aopa lliance.MethodSecurityInterceptor - Secure object: ReflectiveMethodInvocation: public java.lang.String com.waco.mc.service.report.ReportServiceImpl.getEx portReportsToXml(java.util.List,com.waco.mc.domain .user.User); target is of class [com.waco.mc.service.report.ReportServiceImpl]; Attributes: [AUTH_REPORT_VIEW, AUTH_REPORT_EXPORTXML]
2013-02-11 09:12:49,053 [btpool0-4] DEBUG btpool0-4 org.springframework.security.access.intercept.aopa lliance.MethodSecurityInterceptor - Previously Authenticated: org.springframework.security.authentication.Userna mePasswordAuthenticationToken@d8ada90f: Principal: org.springframework.security.core.userdetails.User @6a68e03: Username: usern; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: AUTH_GROUP_CREATE,AUTH_GROUP_DELETE,AUTH_GROUP_EDI T,AUTH_LICENSE_ACTIVATE,AUTH_LICENSE_CONSUME,AUTH_ LICENSE_EXPORT,AUTH_LICENSE_VIEW,AUTH_PROCESS_MANA GEMENT,AUTH_REPORT_CREATE,AUTH_REPORT_DELETE,AUTH_ REPORT_EMAIL,AUTH_REPORT_IMPORT,AUTH_REPORT_PRINT, AUTH_REPORT_VIEW,AUTH_STATISTICS_STATISTICS,AUTH_S YSTEM_CONFIGURATION,AUTH_SYSTEM_LOGIN,AUTH_USER_CR EATE,AUTH_USER_DELETE,AUTH_USER_EDIT,AUTH_USER_LIS T,AUTH_USER_ROLE_CREATE,AUTH_USER_ROLE_DELETE,AUTH _USER_ROLE_EDIT,AUTH_WIDGET_CUSTOMIZE_WIDGETS; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.We bAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: AUTH_GROUP_CREATE, AUTH_GROUP_DELETE, AUTH_GROUP_EDIT, AUTH_LICENSE_ACTIVATE, AUTH_LICENSE_CONSUME, AUTH_LICENSE_EXPORT, AUTH_LICENSE_VIEW, AUTH_PROCESS_MANAGEMENT, AUTH_REPORT_CREATE, AUTH_REPORT_DELETE, AUTH_REPORT_EMAIL, AUTH_REPORT_IMPORT, AUTH_REPORT_PRINT, AUTH_REPORT_VIEW, AUTH_STATISTICS_STATISTICS, AUTH_SYSTEM_CONFIGURATION, AUTH_SYSTEM_LOGIN, AUTH_USER_CREATE, AUTH_USER_DELETE, AUTH_USER_EDIT, AUTH_USER_LIST, AUTH_USER_ROLE_CREATE, AUTH_USER_ROLE_DELETE, AUTH_USER_ROLE_EDIT, AUTH_WIDGET_CUSTOMIZE_WIDGETS
2013-02-11 09:12:49,053 [btpool0-4] DEBUG btpool0-4 org.springframework.security.access.vote.Affirmati veBased - Voter: org.springframework.security.access.vote.RoleVoter @2e51779, returned: 1
2013-02-11 09:12:49,053 [btpool0-4] DEBUG btpool0-4 org.springframework.security.access.intercept.aopa lliance.MethodSecurityInterceptor - Authorization successful
2013-02-11 09:12:49,053 [btpool0-4] DEBUG btpool0-4 org.springframework.security.access.intercept.aopa lliance.MethodSecurityInterceptor - RunAsManager did not change Authentication object