注釈
4、カスタムフィルタZuul実際のログイン認証を達成するために
、カスタムフィルタの実装Zuulログイン認証戦闘:プロファイル
1、新しいフィルターバッグ
2、方法書き換えZuulFilter、実装する新しいクラス
3を、プラストップクラスをメモは、コンポーネント@、春のスキャンをしましょう
始めます
例えば、単一のインターフェイス、ユーザーはログインする必要があります。着陸は、アクセス・インターフェースは、対応する行くかどうかを決定するために上にトークンを渡すことが
確かに存在する確かにプロセス全体で最初に処理着陸フィルタ。ここでは、ここで事前にフィルタ最初の切片です。あなたは403着陸を返さない場合。あなたはログインしている場合は、インターフェイスがアクセスを要求し続け
のみを制限するために行われる必要があるとフィルタはインタフェースにログインする必要があります。
新規フィルタ。Zuulプロジェクトに。
フィルターバッグ構築するには
、カスタムLoginFilterを
最初に、ZuulFilterを継承する必要があり
、その後の方法があります実現
春は、このクラスのスキャンしてみましょうするには、このクラスプラス@Componentコメントへ
のfilterTypeがフィルターの種類であるが、必要とされている着陸は、プレフィルターである
ように設定しますPRE_TYPEとして
最初の実行順序小さいです。
順序は4に設定され
、このフィルタの発効がtrueに設定されている
私たちは、コンテキストオブジェクト、出力URLアドレスを取得する場所。最初のテストでは、
アプリケーションを再起動します。アクセステスト。URL出力URIと
前面の定数、定数は空にすることはできませんので。request.getRequestURIが空になることがあり
、ここで変更/オーダー/セーブ
何も印刷
するための単一のインターフェイスの下でのアクセスを
、製品のインタフェースにアクセスするには、
傍受されていません
インターセプト操作
無断で401権限ある
JWTの下に検索アプリケーションを行くことができるspringboot
要求がトークンに来なければならない時に、再始動アプリケーションのテストを。
ここでは、トークンなしでテストされ
、ここで分割するには。トークンはNULL値になり
、最終的にはnullを返す
ページを401ステータスコードが返された
値を加えたパラメータの後にトークン
トークンは空ではありません取得することができます。
リリース最終データに戻ります
トークンは、内部ヘッダが配置されています
最終リリース
最後のデータが返されます。
これらは、ユーザーのログイン認証を行うゲートウェイです
レビュー
アドレスマッチングは、ローカル・キャッシュ内に配置することができます。
道ACLで行うにはビッグプロジェクト。それ以外の場合は小さなプロジェクトは、直接内部に書かれたコードに決定します。いくつかのマルチアドレス分析
zuulExceptionを定義し、我々の検証ロジックを