2011-05-05 9 views
12

काम कर मैं अपने कस्टम के कुछ ASP.NET MVC सहायकोंकैसे User.Identity बाहर नियंत्रक

मेरी सहायकों मैं उपयोगकर्ता पहचान जांच करने की जरूरत में से एक में से अलग-अलग परियोजना है पाने के लिए।

मैं User.Identity कैसे काम कर सकता हूं?

डिफ़ॉल्ट रूप से यह interface IPrincipal

+0

मुझे लगता है कि आपने अभी तक कोई जवाब नहीं छोड़ा है। मैं आपको साइट की भावना में ऐसा करने का सुझाव देता हूं। जवाब भी सही के रूप में चुनें। आपकी मदद करने वाले लोगों का धन्यवाद करने का यही सबसे अच्छा तरीका है। –

उत्तर

11

HtmlHelper बुलाया इंटरफ़ेस में System.Security.Principal में रह रहा है वर्तमान ViewContext है और HttpContext के माध्यम से आप वर्तमान उपयोगकर्ता के लिए उपयोगकर्ता वस्तु मिल जाएगा। अपने विस्तार विधि में आप इस

public static bool MyHelper(HtmlHelper helper) 
{ 
    var userIdentity = helper.ViewContext.HttpContext.User.Identity; 
    // more code 
} 
+0

+1 यह वही है जो मैं चाहता हूं – Joper

+3

नीचे ज़ोकस उत्तर बेहतर है – Alex

39

अधिक आसानी से उपयोग आप तक पहुँच सकते हैं कर सकते हैं:

HttpContext.Current.User.Identity 

तो HttpContext.Current चाल है।

+3

यह बेहतर उत्तर – Jonesopolis

+0

यह सबसे अच्छा जवाब है –

+0

क्या इसे किसी भी nuget पैकेज की आवश्यकता है? मैं अपने नियंत्रकों में सेवाओं को इंजेक्ट करने के लिए आईओसी का उपयोग कर रहा हूं, और मैं अपने एपीआई के बाहर उपयोगकर्ता की जानकारी पुनर्प्राप्त करने में सक्षम नहीं हूं। – erbaker

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