Spring Security - @Secured не обеспечивает метод - PullRequest
2 голосов
/ 12 апреля 2011

Попытка написать простое доказательство концепции, основанной на методе безопасности с использованием Spring Security.Но написанное мною простое приложение, похоже, не подхватит аннотацию @Secured для метода.

<beans:bean id="hello" class="org.testing.Hello">
    <beans:property name="name" value="Bob" />
</beans:bean>

<global-method-security secured-annotations="enabled" access-decision-manager-ref="accessDecisionManager"/>

<authentication-manager alias="_authenticationManager">
<authentication-provider>
    <user-service>
        <user password="password" name="me" authorities="ROLE_A"/>
        <user password="password" name="notMe" authorities="ROLE_B"/>
    </user-service>
</authentication-provider>
</authentication-manager>

Мой защищенный метод определен следующим образом (я пытался защитить реальноереализация метода, а также избавление от интерфейса все вместе)

public interface IHello {</p> <pre><code>@Secured("ROLE_C") public void greet();

}

Я использую Spring Security 3.0.4

Использование модульного теста для загрузки файла контекста (только один файл контекста в приложении) и вызова метода:

AuthenticationManager authManager = (AuthenticationManager) factory.getBean("_authenticationManager");</p> <pre><code>UsernamePasswordAuthenticationToken login = new UsernamePasswordAuthenticationToken("me", "password"); SecurityContextHolder.getContext().setAuthentication(authManager.authenticate(login)); Hello hello = (Hello) factory.getBean("hello"); hello.greet();

Нопохоже, он не идентифицирует аннотацию метода greet.Любая помощь будет принята с благодарностью (я новичок в весенней и весенней безопасности)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...