春のセキュリティセキュリティ設定が継承WebSecurityConfigurerAdapterによって達成され、オーバーロードされたconfigureメソッド
方法 | 説明 |
configure(HttpSecurity HTTP) | サーバ要求インターセプタによって保護されました |
configure(AuthenticationManagerBuilder AUTH) | ユーザーのログイン構成情報(ユーザー名とパスワードがなど、正確です) |
configure(WebSecurity社ウェブ) | 春のセキュリティ・フィルタチェーンの設定 |
すべての要求インターセプト1、ユーザ情報
注意:
(1)この春のセキュリティ設定セキュリティ設定インターセプトすべての要求、およびない、設定情報、アクセスできなく皆をリードします。
あなたが音を削除することができます(2)@EnableWebMvc
2インターセプトすべての要求、メモリ構成のユーザー名とパスワード
注意:
(1)設定されたセキュリティなど春のセキュリティは、すべての要求をインターセプトした構成とユーザーのパスワードに基づいてアクセス要求を持っています
(2)それ以外の場合は、背景が全くPasswordEncoderはありません報告されますID「ヌル」エラーのためにマッピングされ、同様にパスワード暗号化BCryptPasswordEncoderルックを使用する必要があります。
あなたが音を削除することができます(3)@EnableWebMvc
メモリベースのログイン・ページ、ユーザー名とパスワード、およびスタティック・ルートサービスのリソースに基づいて、3
注意:
(1)ログ/ログイン要求制御層は、構成項目缶に応じて、書き込まれなくてもよいです。
デフォルトのログインが成功したパスdefaultSuccessUrl(「/インデックス」、真の)2番目の引数が真である後(2)は、それだけではないにサービスのログインページに入る前にあるパスで、サービス/インデックスパスを記録します
。(3)antMatchers( "/入力してください"、 "/ログイン")permitAllは()要求手段遮りません。
。(4)CSRF()無効()が設定されていない場合は、単にログにつながる302が報告した後、(クロスドメイン攻撃を防ぐために)ログインページに滞在されていたであろう。
(5)/リソース/静的で、デフォルトでは静的リソースの春ブーツを今、増加@EnableWebMvcコメントが独自の設定を必要とする場合、
(6)()web.ignoring。AntMatchersを( "/ PNG / **")などの画像、JS、CSS、として次の静的アクセス静的リソースに行き、要求/ pngの始まりで表すことができます
データベースベースのログイン・ページ、ユーザー名とパスワード、およびスタティック・ルートサービスのリソースに基づいて4
春のセキュリティの設定クラス
ビジネス実装層(UserDetailsServiceがUserServiceのは自分の非インターフェースを実装する必要があります書き込み、loadUserByUsername方法を達成するための必要性を上書き)
Userエンティティクラス(UserDetailsがインタフェースを実装する必要があります)
注意:
(1)auth.userDetailsService(userDetailsService).passwordEncoder(新しいBCryptPasswordEncoder())。
bcryptのは、そうでない場合は、ID「ヌル」のためにマップされたPasswordEncoderはありません報告されたデータベースのパスワードの暗号化bcryptのを暗号化されている暗号化パスワードに暗号化を使用する必要があります。
(2)現在のログインユーザ情報を取得することができ、次のコードを使用して
( "/のgetUser")@RequestMapping
@ResponseBody
パブリックユーザのgetUser(認証認証){
ユーザーユーザー=(ユーザー)authentication.getPrincipal();
ユーザーを返します。
}