クライアントではanglejsを使用し、サーバー側ではc#を使用します。 私はどのようにしてユーザーとウェブサイトを作成できるのかを知りたい。ウェブサイトのユーザーの詳細を保持
私はdbにデータを格納する方法を知っています。
私の実際の質問は、サイトがユーザーセッションを覚えていることです。 リフレッシュ後。 したがって、ユーザーは再度ログインする必要はありません。
ありがとうございます。
クライアントではanglejsを使用し、サーバー側ではc#を使用します。 私はどのようにしてユーザーとウェブサイトを作成できるのかを知りたい。ウェブサイトのユーザーの詳細を保持
私はdbにデータを格納する方法を知っています。
私の実際の質問は、サイトがユーザーセッションを覚えていることです。 リフレッシュ後。 したがって、ユーザーは再度ログインする必要はありません。
ありがとうございます。
Microsoftは、この目的のために.NET Web APIプロジェクト用のJWT(JSON Web Token)パッケージを作成しました。 Angular.jsを使用しているので、JSONを使って作業するのが完璧です。
JWTがどのように動作し、このようなユーザーのセッションを安全に保存するかを理解するためのチュートリアルが多数あります。https://scotch.io/tutorials/the-anatomy-of-a-json-web-token。
考えられるのは、サーバーがクライアント/ユーザーに長い暗号化文字列を送信することです。クライアントはそれをクッキーに保存し、ユーザーを確認するたびにサーバーに送信します。
暗号化に関する複雑な詳細のほとんどは、心配する必要はありません。 JWTトークンの交換を設定するためのチュートリアルに従ってください。
今日は、これを行うためにクッキーを使用しています。
今日の安らかなhtml5世界では、いくつかのオプションを使用できます。
Websql、Localstorage、IndexedDB。
あなたは、認証されたapi呼び出しを行うために使用する認証トークンを格納するために、おそらくJWTのようなものを使用しています。
私のやり方は、そのトークンをlocalStorageに保存してから、apiへのすべての呼び出しで注入することです。
角度ランセクションでは、ユーザーが認証されているかどうかをチェックして、トークンが保存されているかどうかを確認し、そうでない場合はログインページに送信します。
この例ではangular.module('Scope', ['ui.router', 'ngStorage'])
.run(function($localStorage, $state){
if (!$localStorage.authenticationToken) {
$state.go('login');
}
}
});
、毎回アプリをリロード、ログインウェブページにユーザーを送る、実行機能を実行し、ない場合には、我々は、トークンを保存しているかどうかをチェックする角度。
素晴らしいソリューション! –
助けてくれてありがとう! –