2016-09-29 21 views
0

私は春のブートでかなり新しいです。バックエンドでmongodbを使ってRESTサービスを作ろうとしています。 mongodbでは、私はCustomersテーブルとsekondユーザーテーブルを作成しました。ユーザーテーブルでは、ユーザー名、パスワード、および役割の列をシリーズとして定義しました。 RESTサービスにアクセスするユーザーを表ユーザーから認証しようとしています。 インターネット上で、私たちがWebSecurityConfigurerAdapterを拡張する2つのケース、またはGlobalAuthenticationConfigurerAdapterを拡張するときに2つ目のケースが見つかりました。最初のケースでは、私たちがカスタムAuthenticationProviderを作成するWeb上でbeanを見つけましたが、2番目の方法ではUserDetailsS​​erivceを処理しています。 私の質問は、この問題をどのように深く知ることができるのでしょうか? 巨大なインターフェイスのソースコードを見ても、チュートリアルとは違って、私はそのスタッフをやることはできません。 これらの2つの方法の主な違いは何ですか? ?ハンドルや春ブーツのセキュリティをどのように処理するか(?MVCを処理するディスパッチャサーブレットのようなものがある)春のブートでセキュリティを設定する

答えて

1

@vmaricをSpringSecurityを開始する方法の例ですが、ロジックは同じであるように見えます。

@Configuration 
public class AuthenticationManagerConfiguration extends 
     GlobalAuthenticationConfigurerAdapter { 

    @Override 
    public void init(AuthenticationManagerBuilder auth) { 
     auth.inMemoryAuthentication() // ... etc. <------- 
    } 

}

0

春のセキュリティによると、あなたは、セキュリティの構成を提供する必要が :

@EnableWebSecurity 
public class SecurityConfig extends WebSecurityConfigurerAdapter 

オーバーライドされたメソッドとのことAuthenticationManagerを提供しています。

@Autowired 
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {...} 

それは、メモリ内の実装が考えられます。

@Autowired 
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
auth.inMemoryAuthentication() .withUser("user").password("password").roles("USER").and() .withUser("admin").password("password").roles("USER", "ADMIN"); 
} 

または実装あなたのUserDetailsS​​erviceの実装に依存しています:

@Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
authenticationManagerBuilder 
       .userDetailsService(userDetailsService) 
       .passwordEncoder(passwordEncoder()); 
} 

Hereは春のブートに私はそれを使用していない

+0

何GlobalAuthenticationConfigurerAdapterは? – vmaric

+0

申し訳ありませんが、私は最初の応答を見ていません。 – vmaric

関連する問題