質問

の開発をしているAsp.net (MVCがいか)。いカスタムIHttpModuleことになるのPostAuthenticateRequestの変更ユーザーの元を確認する

私の保存ユーザidとユーザー名認証クッキーがユーザーのログです。いIUser実施によるダオ、ビジネスオブジェクト層、それぞれメンバーの追加するものなのかどうかに関して必要なすべてのビジネスサービス。ユーザーがいないを提供すIUserオブジェクトインスタンス(通常は事業体層)を利用して次のように書き換えられるauthチケットのない十分です。

さんの思いがどこでどのようにすることになり持続ログインユーザーのIUserデータはもらえますか?

  1. ならないようにしたいのフェッチで時をDBに基づく認証のチケットのユーザidのデータ)
  2. できない店舗でのセッションでの新しい内PostAuthenticateRequest、セッションの準備ができていないか
  3. いすべての機能を封入することができるマカスタムIHttpModule

選択するか:

  • キャッシュ
  • クッキー
  • (セッション)による移動からPostAuthenticateRequestにPostAcquireRequestStateイベントの変更の主なアイデンティティがしてしまいましたが、まず私がこれを避けるために

プロセスというわけ複雑なもの:

  1. ユーザーログには、ユーザーデータを取得DBから、続いったご要望
  2. ユーザーログには、ユーザーデータから削除されるまで続き中automagically
  3. 専用アプリをインストール自身のプロフィール、ユーザーデータは破棄され、読み直し、次からの要請DB

I wanによって開催されているこれらの取り扱いにより自動的にHttpModule(可能な場合)を除去したデータの誤差を忘れリセットん。

何もしたくないは書き込み/読み取りもハードコード変数のキーを操作しそのものを用いることとする。このう現在の技術的な債務。

質問

  1. んのでしょうか。
  2. どのような持続ユーザデータの要求?
役に立ちましたか?

解決

指要だと思うので、最善の解決策である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).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top