ターゲットトークンの有効期限切れシナリオの処理
思考分析バックエンド: ユーザーから特定のインターフェースへのアクセス要求を受信した場合、現在のトークンが無効かどうかを確認します。トークンが無効な場合は、合意されたステータス コード 10002 をフロントエンドに返します。 フロントエンド: レスポンスインターセプターで、インターフェースの戻り値を分析します。ステータスコードが 10002 の場合は、トークン無効化操作を実行します。 コード着陸
ページジャンプにはルーティングが必要なので、まず // ルーティングをインポートする import router from '@/router' コード // レスポンスインターセプター内 // 1. バックエンドから返されたデータに基づいて操作が成功したかどうかを判断し、失敗した場合はエラーを報告します // 2. 成功した場合は、有効なデータのみを返します service.interceptors.response.use( レスポンス => { // バックエンドとフロントエンド間の合意: success=true はリクエストが成功したことを示します if (response.data.success) { 応答データを返す } それ以外 { // 成功が偽の場合、ビジネスは間違っており、拒否が直接トリガーされます // catch ブランチによってキャプチャされます return Promise.reject(new Error(response.data.message)) } }, 非同期エラー => { console.log('リクエストエラー', error) (エラー応答データコード === 10002) の場合 { console.log('トークンの有効期限が切れました') store.dispatch('user/logout') を待機します。 // .vue -- this.$route.fullPath // .js -- router.currentRoute.fullPath router.push('/login?return_url=' + encodeURIComponent(router.currentRoute.fullPath)) } console.dir(エラー) Promise.reject(error) を返します。 } ) 上記のソリューションは、バックエンド主導のソリューションです。フロントエンドは、ビジネス処理を行うためにエラーコードを取得するだけで済みます。このソリューションは、最も一般的に使用され、最も安全なソリューションでもあります。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 優れた Web UI ライブラリ/フレームワーク 10 選
>>: Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する
zip インストール パッケージをダウンロードします。 MySQL8.0 For Windows z...
Flashにより、デザイナーや開発者はブラウザ上でリッチなコンテンツを提供し、動き、インタラクティブ...
重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...
<br />私が住んでいる地域では、コミュニティに出入りする車両を管理するために、コミュ...
目次序文LEDトリガー探索を始めるLEDデバイス登録LEDディレクトリ類推によって理解するクラスディ...
1. 環境整備Tencent Cloud Server CENTOS 7 バージョンDockerコン...
最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...
1. 4つの起動方法: 1.mysqld MySQL サーバーを起動します: ./mysqld --...
Vue3.0 がリリースされてからしばらく経ちましたが、勉強を始める必要があります。まず、達成したい...
長い間ブログを書いていませんでした。先週、プロジェクトをテストしたところ、いくつかのバグが見つかりま...
HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...
docker-compose.yml を編集し、次のコンテンツを追加します。 バージョン: '...
mysqlbinlogのバージョンを表示mysqlbinlog -V [--version] bin...
この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...
導入react-i18next は、 i18nextをベースにした強力な国際化フレームワークです。 ...