Попытка написать простое доказательство концепции, основанной на методе безопасности с использованием 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.Любая помощь будет принята с благодарностью (я новичок в весенней и весенней безопасности)