13

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" />

@Configurationクラスのみで、XML を使用せずに Spring を使用しようとしています。上記の XML サンプルのような構成に相当する単純な Java は何ですか?

4

1 に答える 1

12

編集: 2013 年 12 月に Spring Security 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 Securityリード devによって半年前に投稿されました):

現在、Java 構成で Spring Security 構成を行う簡単な方法はありません。名前空間が舞台裏で何をしているのかを知っておく必要があります。このため、Spring Security 名前空間構成に固執することをお勧めします。

1 つのオプションは、非公式プロジェクトであるScalasecに貢献することです。これは、Scala ベースの構成を提供し、SpringSource ブログのこの投稿で説明されています。繰り返しますが、プロジェクトは放棄されているように見えるため、これは本番環境にはお勧めできません。いつかこのプロジェクトを試してみたいと思っていますが、現在は時間がありません:(

于 2012-09-06T16:36:31.210 に答える