0

私は MVC4 フレームワークを使用しており、コード全体の多くのインスタンスで現在のユーザー ID を取得したいと考えています。

私はこれを行うことを理解しています:

  [InitializeSimpleMembership]
  public ActionResult SaveTask(FormCollection form)
  {
      var userID = WebSecurity.CurrentUserID;
  }

これは正しく機能しますが、私は自分自身を[InitializeSimpleMembership]すべての上に置く必要があることに気付きましたActionResult. 理想的には、呼び出すことができる静的関数が必要です。

var userID = Utilities.CurrentUserID;

これは Utilities というクラスにあります。

   public static Int32 CurrentUserID{

    get
    {
        return WebSecurity.CurrentUserID;

    }

  }

WebSecurityが必要になるため、これが失敗することはわかっていますInitializeSimpleMembership Attributeが、達成したいことを例で示したいと思います。これは可能ですか?

4

1 に答える 1

1

[InitializeSimpleMembership]各アクションの代わりにコントローラーの上部に追加して、使用できますWebSecurity.GetUserId(User.Identity.Name)

または、使用できます

var userId = Membership.GetUser(User.Identity.Name).ProviderUserKey;
于 2013-03-08T13:14:46.267 に答える