通常、単一ページ アプリケーションでは、Web ページ (dashboard.html) を要求し、サーバーからそれを取得して、(ajax を使用して) その上にいくつかのダッシュボード データをレンダリングします。
ユーザーが backed から認証された場合 (有効な電子メールとパスワードを持っている場合) にのみ、dashboard.html を表示したいです。
$.ajax({
url: "dashbaard.json",
dataType: "json"
}).done( function(data){
// data = { inValid: true } - from backend
if(data.inValid){
alert("You are not authorized user, please register 1st!");
location.href = "register.html";
} else {
// render data on dashboard page - valid user
}
})
しかし、ユーザーが有効でないと仮定すると、ここに問題があります
- ユーザーが dashboard.html を要求した場合、ユーザーが有効ではなくてもすべてのアセット (css、js、画像) が読み込まれます。この場合、単一の css または js ファイルを読み込む意味がありません。
期待される結果: ユーザーが Dashboard.html を要求した場合、ユーザーが有効でない場合、サーバーから不要なものをロードすることなく、すぐにログイン/登録ページにリダイレクトされる必要があります。
シングルページアプリケーションでの処理方法(可能な場合はページの更新なし)ページのちらつきのない最善のソリューションが必要です。バックエンド認証を処理するためにLaravel 4を使用しています。