2011-10-19 17 views
18

Asp.net MVC için özel bir eylem filtresi oluşturuyorum.ASP.NET MVC Geçerli kullanıcı adını özel eylem filtresinde bulma

OnActionExecuting() yönteminde.

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

Ben kullanıcıların adını almak için bir yolu var mı ben sadece sadece User.Identity.Name

yapabilirsiniz denetleyici olarak

(I form kimlik kullanıyorum) mevcut kullanıcı adını bulmak gerek ActionFilter?

cevap

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

Ve ilk doğrulanmış bir kullanıcı olup olmadığını kontrol etmek isteseydi:

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

Eh böyle bir sert zaman bulgu vardır emin değilim neden, inanılmaz derecede kolay oldu. Bir kez daha teşekkür ederim Darin! – twaldron

+0

@twaldron, rica ederim. –

+0

@DarinDimitrov UserId ad yerine nasıl alınır? Denetleyici eyleminde 'User.Identity.GetUserId(); – Lijo