2017-01-24 13 views
1

私のアプリケーションでJavaScript、Angular、Javaを使用しています。私は、セッションを破壊するログアウト操作を開発するのに助けが必要です。今のところ、ログアウトリンク上で私は、ブラウザの[戻る]ボタンがクリックされたときに、ユーザーがまだログインしている方法ですログインページを呼んでいる。ログアウト後にセッションが破棄される

<li><a href="login.html">Log Out</a></li>

+0

そして、あなたの質問は正確に何ですか?これまでに何を試しましたか? –

+0

これを参照してください:http://stackoverflow.com/questions/27269168/how-to-remove-single-object-from-the-sessionstorage-angularjs – wyeo

+0

ポストコールを使用してセッションを作成していますか? –

答えて

0

は、私たちは、あなたが/セッションを使用しているTATとしましょうセッションを作成するためのAPI。セッションの応答はあなたが今、あなたが行うことができますログアウト

/sessions/window.sessionStorage.getItem('currentSession'); 
に削除コールを送信今

window.sessionStorage.setItem('currentSession', response.id); 

としてセッションストレージにこのIDを保存することができ

{id : ghjdgsajdfsgafdfdgasfdafsdfsafdjsa} 

などのIDも聞かせて

これによりセッションが破棄されます

0

状態をHTML

<li><a ng-click="logout()">Log Out</a></li> 

はすでに

storageService.setItem('userid','1'); 

ログイン成功にセッションストレージにキー(ユーザーID)&値(ダイナミック)を設定したとします

<li><a href="login.html">Log Out</a></li> 

このような何かを試してみてくださいログアウトすると、次のようなことができます:

コントローラー:

$scope.logout = function() { 

    // To remove specify key/value pair from session storage, you need to do something like this. 
    storageService.removeItem('userid'); 

    // Redirection on home page after remove the item from session storage. 
    $state.go('home'); 
    ---- OR ----- 
    $location.path('/home'); 

} 

storageService工場:

app.factory('storageService', function() { 

    return { 

     getItem: function (key) { 
      return sessionStorage.getItem(key); 
     }, 

     setItem: function (key,data) { 
      sessionStorage.setItem(key, data); 
     }, 

     removeItem: function (key) { 
      sessionStorage.removeItem(key); 
     } 
    }; 
}); 
関連する問題