0

私はこのコードを持っています

public ActionResult Index()
{
     if (CurrentUser != null)
     {
            UserManager.User usr = (User.User)CurrentUser;
     }
}

私はやった AdminController : TestController

今、ユーザーが管理者であるかどうかを確認するために使用する actioninvoke でこの currentUser にアクセスする方法は何ですか

 public class AdminAuthorize : ActionFilterAttribute 
    {
        public override void OnResultExecuting(ResultExecutingContext filterContext)
        {
            base.OnResultExecuting(filterContext);
        }
    }

とにかく、この呼び出し元で currentUser 変数を使用します。

4

2 に答える 2

0

filterContext の Controller プロパティから現在のコントローラー インスタンスにアクセスできるはずです。

public class AdminAuthorize : ActionFilterAttribute 
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        base.OnResultExecuting(filterContext);

        var currentUser = ((AdminController)filterContext.Controller).CurrentUser;

        // do what you need with currentUser
    }
}
于 2013-05-04T12:44:46.177 に答える
0

から現在のユーザーを取得するほうがよいのではないHttpContext.Current.User.Identity.Nameですか? この ActionFilter をすべての Controller に使用できますか?

于 2013-05-04T12:58:17.757 に答える