Подтвердить что ты не робот

Spring: эквивалент эквивалентности безопасности: аутентификация-менеджер и безопасность: глобальный метод-безопасность

В конфигурации XML я могу использовать пространство имен security, чтобы включить поддержку безопасности, например:

<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider ref="authenticator" />
</security:authentication-manager>

<security:global-method-security pre-post-annotations="enabled" />

<bean id="authenticator"
    class="org.springframework.security.authentication.TestingAuthenticationProvider" />

Я пытаюсь использовать Spring без XML, только с @Configuration классами. Каков простой Java-эквивалент такой конфигурации, как образец XML выше?

4b9b3361

Ответ 1

EDIT: в декабре 2013 года Spring была выпущена версия безопасности 3.2 и Была реализована конфигурация Java, поэтому над XML примерно эквивалентно:

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

  @Override
  protected void configure(final AuthenticationManagerBuilder auth)
      throws Exception {
    auth.authenticationProvider(authenticator());
    super.configure(auth);
  }

  @Bean
  public AuthenticationProvider authenticator() {
    return new TestingAuthenticationProvider();
  }

}

Старый ответ от 2012 года:

К сожалению, их нет. Отметьте этот ответ (опубликовано полгода назад Spring Безопасность провести dev)

В настоящее время нет простого способа сделать Spring Конфигурация безопасности с конфигурацией Java. Вы должны знать, что означает пространство имен сцены делают его трудным и склонным к ошибкам. По этой причине я будет рекомендовать придерживаться Spring пространства имен безопасности конфигурации.

Один из вариантов заключается в том, чтобы внести вклад в неофициальный проект - Scalasec - который обеспечивает конфигурацию на основе Scala и описан в этот пост в блоге SpringSource. Опять же, это не рекомендуется для производства, поскольку проект, похоже, заброшен. Я хочу экспериментировать с этим проектом однажды, но не имею свободного времени в настоящее время: (