एमवीसी में इन 2 के बीच क्या अंतर है?दावा प्रिंसिपल। वर्तमान बनाम HttpContext.Current.User?
वे समान दिखते हैं, और वे एक ही प्रकार/कक्षा System.Web.Security.RolePrincipal
वापस लौटते हैं लेकिन वहां सूक्ष्मताएं हैं।
उदा। जब ClaimsPrincipal.Current
cp.FindFirst(ClaimTypes.Name); //{"Unable to connect to SQL Server database."} <--HUH!?
cp.Claims; //{"Value cannot be null.\r\nParameter name: username"}
ऊपर काम करता है के माध्यम से उत्पन्न उदाहरण के खिलाफ बुलाया निम्नलिखित कोड विभिन्न त्रुटियों फेंकता है जब सीपी इस बजाय है:
var cp = System.Web.HttpContext.Current.User
जब त्वरित घड़ी मैं के माध्यम से निजी सदस्यों के लिए नीचे ड्रिलिंग देख सकते हैं कि दोनों के पास एक ही दावा शब्दकोश है। हालांकि ClaimsPrincipal.Current
सहायता - यह क्यों है !? के कारण किसी भी कारण से सार्वजनिक संपत्ति उड़ाती है। यह मुझे पागल बना रहा है।
============= संपादित ==================
यह लगभग समय बिस्तर पर जाने के लिए होना चाहिए।
आईप्रिनियल कई पहचानों का समर्थन करता है। इसे किसी प्रकार की दुकान की आवश्यकता है। IIDentity दावों का एक उदाहरण देता है IDententity और स्टोर की आवश्यकता नहीं है।
मैं बस गलत गुणों को ड्रिल कर रहा था। उनमें से दो अपने आकार यानी लगभग समान हैं। वही गुण और विधियां, जिन्हें मैंने उन्हें भ्रमित कर दिया।
धन्यवाद मुझे इसके अच्छे पढ़ने की ज़रूरत है। – Alwyn