2011-10-19 11 views
18

में वर्तमान उपयोगकर्ता नाम ढूंढ रहा है मैं एएसपीनेट एमवीसी के लिए एक कस्टम एक्शन फ़िल्टर बना रहा हूं।एएसपी.नेट एमवीसी एक कस्टम एक्शन फ़िल्टर

OnActionExecuting() विधि में।

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

मैं वर्तमान उपयोगकर्ताओं नाम पता लगाने के लिए

(मैं रूपों प्रमाणीकरण का उपयोग कर रहा) नियंत्रक मैं बस सिर्फ User.Identity.Name

कर सकते हैं की जरूरत है वहाँ उपयोगकर्ताओं को इस तरह नाम पाने के लिए है एक्शनफिल्टर?

उत्तर

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

@ टावाल्ड्रॉन, आपका स्वागत है। –

+0

@DarinDimitrov नाम के बजाय UserId कैसे प्राप्त करें? नियंत्रक कार्रवाई में, मैं बस 'User.Identity.GetUserId();' का उपयोग कर सकता हूं – Lijo

संबंधित मुद्दे