2016-09-27 5 views
0

私は "login.html"と "Main.html"を私のアプリケーションに2ページ持っています。 "login.html"ページで検証が成功した後、 "Main.html"にナビゲートしています。Angular JSでのナビゲーション

ここで私は問題に直面しています。

"main.html"ページがログインページから着いたら、ブラウザの "戻る"ボタンをクリックすると "login.html"ページに戻ります。ここでは、適切なサインアウトなしで、アプリがログインページに戻るのを嫌います。 Angular JSでこの問題を解決するための安全な方法を提案してください。

ありがとうございます!あなたはui-router

$rootScope.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams, options) { 
    if(clientSideValidationFails) { 
    if(serverSideValidaionFails) { 
    } 
    } 
}) 

を使用していると仮定すると、

+0

'セッションまたはlocalstorage'を使用しています。ユーザーが正常にログインすると、ユーザーのIDまたは詳細を格納します。ナビゲート中に、ローカルストレージがあるかどうかを確認します。はいの場合は、ログインページにリダイレクトしないでください。 – Pradeepb

+0

ユーザーは開発者ツールを使用してセッションまたはローカルストレージをハックすることができます。 他の提案が参考になります。ありがとう –

+0

私はそれを知っています。サーバー側とクライアント側の両方から適切な認証が必要であるためです。あなたはjwtトークン(例えば)を使うことができます。 localstorageやセッションストレージに格納しなければ、あなたが望むものを達成することはできません。方法がないので、ブラウザはそれらなしで追跡します。 – Pradeepb

答えて

0

はちょうどあなたのlocalStorageユーザーがログインする度にhasLoggedIn状態を設定する。

+0

ローカル/セッションストレージは開発者ツールで編集可能です。だからこれは安全な方法ではありません。 –

+0

検証のためにサーバー側を持って来てください。 – InfinitePrime

+0

開発ツールから見ると、コンソールにJavaScriptを直接入力することでHTMLコンテンツ全体を変更することができます。オリジナルのアプリケーションではなかった新しいanglejs画面自体も導入できますが、残念です –