2011-10-19 11 views
18

asp.net MVCのカスタムアクションフィルタを作成しています。ASP.NET MVCがカスタムアクションフィルタで現在のユーザー名を検索しています

OnActionExecuting()の方法。私は単純にUser.Identity.Name

を行うことができ、コントローラで

(私は、フォーム認証を使用しています)現在のユーザー名を見つける必要があり

public override void OnActionExecuting(ActionExecutingContext filterContext) 
{ 
    string userName = ?????// how can I get this? 
} 

は内のユーザ名を取得する方法はありますActionFilter?

答えて

42
string userName = filterContext.HttpContext.User.Identity.Name; 

そして、あなたが最初に認証されたユーザーが存在するかどうかを確認したい場合:

string userName = null; 
if (filterContext.HttpContext.User.Identity.IsAuthenticated) 
{ 
    userName = filterContext.HttpContext.User.Identity.Name; 
} 
+0

まあ、私は、このような苦労それを見つけるのを持っている理由はわからない、信じられないほど簡単でした。もう一度ダーリンありがとう! – twaldron

+0

@twaldron、よろしいですか? –

+0

@DarinDimitrov名前の代わりにUserIdを取得するには?コントローラの動作では、単に 'User.Identity.GetUserId();'を使うことができます。 – Lijo

関連する問題