続/キャッシュデータとのご要望-共通アプローチ
-
13-09-2019 - |
質問
の開発をしているAsp.net (MVCがいか)。いカスタムIHttpModuleことになるのPostAuthenticateRequestの変更ユーザーの元を確認する
私の保存ユーザidとユーザー名認証クッキーがユーザーのログです。いIUser実施によるダオ、ビジネスオブジェクト層、それぞれメンバーの追加するものなのかどうかに関して必要なすべてのビジネスサービス。ユーザーがいないを提供すIUserオブジェクトインスタンス(通常は事業体層)を利用して次のように書き換えられるauthチケットのない十分です。
さんの思いがどこでどのようにすることになり持続ログインユーザーのIUserデータはもらえますか?
- ならないようにしたいのフェッチで時をDBに基づく認証のチケットのユーザidのデータ)
- できない店舗でのセッションでの新しい内PostAuthenticateRequest、セッションの準備ができていないか
- いすべての機能を封入することができるマカスタムIHttpModule
選択するか:
- キャッシュ
- クッキー
- (セッション)による移動からPostAuthenticateRequestにPostAcquireRequestStateイベントの変更の主なアイデンティティがしてしまいましたが、まず私がこれを避けるために
プロセスというわけ複雑なもの:
- ユーザーログには、ユーザーデータを取得DBから、続いったご要望
- ユーザーログには、ユーザーデータから削除されるまで続き中automagically
- 専用アプリをインストール自身のプロフィール、ユーザーデータは破棄され、読み直し、次からの要請DB
I wanによって開催されているこれらの取り扱いにより自動的にHttpModule(可能な場合)を除去したデータの誤差を忘れリセットん。
何もしたくないは書き込み/読み取りもハードコード変数のキーを操作しそのものを用いることとする。このう現在の技術的な債務。
質問
- んのでしょうか。
- どのような持続ユーザデータの要求?
解決
指要だと思うので、最善の解決策であるIDを取得するか、クッキーを使ってインデックスには、Httpキャッシュ(HttpContext.ます。キャッシュ).
したい場合の維持にどのようユーザーのアクセスすると、ラップのキャッシュの"UserCache"オブジェクトです。のオブジェクトを見ることができるようHttpModuleとして保存した(待つので...)シングルトンのキャッシュ自体は、しみいただけるよう、建めに必要がある場合であって、引きからのhttpます。このよう必要な場所へのアクセスするかどうかHttpContext.ます。キャッシュを直接可能です。テ実装は以下の通りです。
これは明確ではないかんを実際に実行いたします。
public class UserCache
{
public IUser GetUser(object userKey)
{
return HttpContext.Current.Cache[userKey];
}
public void AddUser(object userKey, IUser user)
{
/* this could pull the key from the user object as well. */
HttpContext.Current.Cache.Add(/* add the object with key and a sliding expiration that is slightly greater than session timeout */);
}
public void ExpireUser(object userKey)
{
HttpContext.Current.Cache.Remove(userKey);
}
/* If you don't want to do SQL cache dependency */
public void UpdateUser(object userKey, IUser user)
{
HttpContext.Current.Cache.Insert(/* ... */);
}
}
デフォルトのキャッシュ機構によるキャッシュ機構を提供するDIでんの実装)に設定することができ、有効期限が自動的に削除ユーザーからのキャッシュに対してコメントとなります。セットアップできるキャッシュに依存することSQLサーバーの更新などの更新または手動で更新するとともにサービスに保存します。
情報のデフォルトのキャッシュをご用意 こちらの.りに関する情報 キャッシュの依存関係 が可能 こちらの.
のHttpModuleそのものだと思うのですがいくつかの魔法のEndRequestイベントが要求する認証済みのプログラミング、ユーザにクッキーはんだとして機能することがなかったのです。するためにしてい この記事 にMSDNからの帰りには11日までの回答の一部を問題にしようとしている問題もあります。
としての建築にどのような、今まで想像も荷していくことが必要な時にこのデータベースのRAM常http://highscalability.com/stack-overflow-architecture).