2016-10-25 7 views
0

クライアントではanglejsを使用し、サーバー側ではc#を使用します。 私はどのようにしてユーザーとウェブサイトを作成できるのかを知りたい。ウェブサイトのユーザーの詳細を保持

私はdbにデータを格納する方法を知っています。

私の実際の質問は、サイトがユーザーセッションを覚えていることです。 リフレッシュ後。 したがって、ユーザーは再度ログインする必要はありません。

ありがとうございます。

答えて

1

Microsoftは、この目的のために.NET Web APIプロジェクト用のJWT(JSON Web Token)パッケージを作成しました。 Angular.jsを使用しているので、JSONを使って作業するのが完璧です。

JWTがどのように動作し、このようなユーザーのセッションを安全に保存するかを理解するためのチュートリアルが多数あります。https://scotch.io/tutorials/the-anatomy-of-a-json-web-token

考えられるのは、サーバーがクライアント/ユーザーに長い暗号化文字列を送信することです。クライアントはそれをクッキーに保存し、ユーザーを確認するたびにサーバーに送信します。

暗号化に関する複雑な詳細のほとんどは、心配する必要はありません。 JWTトークンの交換を設定するためのチュートリアルに従ってください。

+0

助けてくれてありがとう! –

1

今日は、これを行うためにクッキーを使用しています。

今日の安らかなhtml5世界では、いくつかのオプションを使用できます。

Websql、Localstorage、IndexedDB。

あなたは、認証されたapi呼び出しを行うために使用する認証トークンを格納するために、おそらくJWTのようなものを使用しています。

私のやり方は、そのトークンをlocalStorageに保存してから、apiへのすべての呼び出しで注入することです。

角度ランセクションでは、ユーザーが認証されているかどうかをチェックして、トークンが保存されているかどうかを確認し、そうでない場合はログインページに送信します。

この例では
angular.module('Scope', ['ui.router', 'ngStorage']) 
    .run(function($localStorage, $state){ 
     if (!$localStorage.authenticationToken) { 
      $state.go('login'); 
     } 
    } 
}); 

、毎回アプリをリロード、ログインウェブページにユーザーを送る、実行機能を実行し、ない場合には、我々は、トークンを保存しているかどうかをチェックする角度。

+0

素晴らしいソリューション! –

関連する問題