注釈
10、Springboot2.xユーザーは迎撃戦闘開発にログオン
はじめに:ユーザーのログイン戦闘開発迎撃迎撃LoginInterceptor
1、道具をHandlerInterceptorインタフェースLoginInterceptor実装
2を、書き換えpreHandler
文字列= accessToken request.getHeader(「トークン」);
IF(accessToken =ヌル=){
accessToken = request.getParameter() "トークン";
}
IF(accessToken = NULL){!
クレーム請求= JWTUtils.checkJWT(accessToken);
整数ID =(整数)claims.get( "ID");
文字列=名(文字列)claims.get( "名前");
request.setAttribute( "USER_ID"、ID);
request.setAttribute( "名前"、名);
//普通用户
trueを返します。
}
falseを返します。
3、配置拦截器
@Configuration
InterceptorConfigはWebMvcConfigurer実装
@Override
ます。public void addInterceptors(InterceptorRegistryレジストリ){
。registry.addInterceptor(新LoginInterceptor())addPathPatterns( "/ユーザー/ API / V1 / * / **を");
WebMvcConfigurer.super.addInterceptors(レジストリ);
}
4、响应前端数据
パブリック静的ボイドsendJsonMessage(HttpServletResponseの応答、オブジェクトobj)は例外{スロー
Gson G =新しいGsonを();
response.setContentType( "アプリケーション/ JSON;のcharset = UTF-8");
PrintWriterのライター= response.getWriter();
writer.print(g.toJson(OBJ))。
writer.close();
response.flushBuffer();
}
始めます
ログインインターセプタが作成
インタフェースを実装し、メソッドのオーバーライドする
オーバーライドメソッドは、
インタフェースのいくつかのデフォルトの方法があります。新機能jdk8
コントローラに入る前に、切片は
まず、トークンを取得する必要があります。あなたは、ヘッダーの中に入ることができない場合。これは、内部のパラメータから取得されます。
復号化されたトークン値取得
変数Gson用の上部に定義されている
それぞれのデータ処理パッケージ
ここでは再度特許請求の範囲を判別ヌルに等しくない
上記の方法が本明細書にスローするように修正されなければならない異常
だけでなく間違っここでここでIDユーザーIDを。
コネクタ構成
新しいインターセプタープロファイル
増加@Configurationが、これはWebMvcConfigurerインターフェイスを実装、設定ファイルであることを示している
インタフェース内のメソッドを書き換え、
それらにレジストリを。これは、登録するには良い傍受を置きます。
新OrderControllerは
主に着陸するかどうかを判断シミュレートするために使用されます。
テスト
サービス開始
アクセスビデオにアクセスすることができます。
パスのアクセスユーザーは、インターセプタをブロックされます。
インターセプタでのブレークポイントのデバッグは
何気なく過去にトークン値を渡す
がありますが、トークン値が、復号化は失敗します
ドメインのデバッグ
スキャンコードを取得するためのURLアドレス
このトークンを取得するには、成功したジャンプを、ダウンコピー
トークンダウンコピーを
トークンダウンコピーします。次に訪れ行く
内部の迎撃ブレークポイントに。首尾よく解読得たと主張して
次のシングルのリリースを成功に求めるメッセージが表示されます