http://cctv.com/!#/car/list
のような単一ページのアプリケーション URL があります。ログインしている場合にのみこの URL にアクセスできます。ログインしていない場合は、ログイン ページにジャンプする必要があります。
以前は、バックエンドに URL をリクエストすると、バックエンドは現在のユーザーがログインしているかどうかを判断していました。しかし、現在はシングルページ アプリケーションなので、バックエンドにリクエストする必要はありません。シングルページアプリケーションの場合、ユーザーがログインしているかどうかをどのように処理すればよいでしょうか?
给我你的怀抱2017-05-15 17:11:32
リーリー リーリー リーリー
url
の変更をリッスンし、ログアウトしていない場合はログイン ステータスを確認します。
ログインステータスを確認するurl
变化,如果不是login logout 就检查登录状态。
检查登录状态
检查js变量,没有登录就直接跳登录页
如果js变量已经登录,就判断一下是否需要异步检测 不需要检测就结束(比如上次检测是在60秒内)。
如果需要异步检测,就异步检测是否登录,如果成功 刷新一下lastcheck
<オル>
lastcheck
時間を更新します。 🎜🎜
🎜🎜ログインしていないことが検出された場合は、ログインページに直接ジャンプします🎜🎜
🎜伊谢尔伦2017-05-15 17:11:32
ログイン後、バックエンド API がトークンを提供し、フロントエンドがトークンを保存し、アクセスするためにログインする必要がある場合にトークンを渡します。フロントエンド ルーティングによってトークンがあるかどうかが判断され、トークンがない場合はログインします。さらに、フロントエンドには、非同期対話型 API のエラー処理機能があります。たとえば、バックエンド エラー コードは、フロントエンドが以前のトークンをクリアしてログインに切り替えたことを示します。
曾经蜡笔没有小新2017-05-15 17:11:32
現在では、フロントエンドが API を介してユーザー名とパスワードをバックエンドに送信するのが通常であり、ログイン状態を維持するかどうかについては、バックエンドが Cookie を設定し、フロントエンドは何もする必要がありません。
PHP中文网2017-05-15 17:11:32
背景にクッキーを設定するだけです。
バックグラウンドで Cookie を設定した後、フロントエンドがリクエストを行うとヘッダーが自動的に引き継がれます。
その後、ステータス コードに同意します。リクエストが特定のステータス コードを返すと、ログイン ページにジャンプします。
phpcn_u15822017-05-15 17:11:32
どのような状況であっても、フロントエンドはユーザーが誰であるか、ユーザーがログインしているかどうかを知りません。それで、誰が知っていますか?後部!
そのため、バックエンドが毎回提供するログインステータス情報を提供し、バックエンドにそれを検証させるだけで済みます。
1. Cookie に保存して、リクエストするたびに送信できます。もちろん、これはユーザーには透過的に行うことができ、バックエンドに Cookie を植えさせ、http のみに設定することができます。
2. 単一ページなのでメモリ内のグローバル変数に保存することもできます。そうでない場合はログインされません。
3. トークンを自分でキャッシュし、リクエストを送信するたびに手動で取得することができます。
我想大声告诉你2017-05-15 17:11:32
loopback+vue+vue-resource、フロントエンドとバックエンドの分離テンプレート、vue ページング機能、認証権限制御、アクセストークンメカニズム、資格情報、CI、Docker
https://github.com/qxl1231/ge...
完全な解決策は私のプロジェクトの例を見てください