2010-02-02 8 views
8

Page.User.Identity और Request.LogonUserIdentity के बीच मतभेद (दृश्यों के पीछे) क्या हैं? प्रकार, नाम इत्यादि में अंतर नहीं, लेकिन दृश्यों के पीछे उन्हें कैसे कार्यान्वित किया जाता है, इस पर मतभेद (यानी एक विंडोज़ xxx एपीआई और अन्य कॉल एएसपीनेट xxx एपीआई ...) कहते हैं।पेज.उसर। इडेंटिटी बनाम अनुरोध के बीच मतभेद। LogonUserIdentity

+0

आपने अपने स्वयं के प्रश्न का उत्तर दिया है। क्या आप कुछ भी खोज रहे हैं? LogonUserIdentity वर्तमान लॉग ऑन उपयोगकर्ता के लिए WindowsIdentity ऑब्जेक्ट देता है। – sarvesh

उत्तर

18

यह इस बात पर निर्भर करता है कि आप उपयोगकर्ताओं को प्रमाणीकृत करने के लिए किस तंत्र का उपयोग कर रहे हैं, और प्रतिरूपण के लिए आपके पास कौन सी सेटिंग्स हैं।

उदाहरण के लिए

, वी.एस. विकास सर्वर के तहत, फार्म प्रमाणीकरण, मानक एसक्यूएल सदस्यता प्रदाता और निम्नलिखित कोड का उपयोग कर:

// m_LoggedIn is a Literal control on the page: 
m_LoggedIn.Text = string.Format("<br />Page.User.Identity: {0} " + 
           "<br />Request.LogonUserIdentity: {1}", 
           Page.User.Identity.Name, 
           Request.LogonUserIdentity.Name); 

मैं निम्नलिखित उत्पादन प्राप्त करें:

Page.User। पहचान: zhaph

Request.LogonUserIdentity: [ComputerName] \ बेन

पहली पंक्ति (Page.User.Identity) फॉर्म प्रमाणीकरण खाता है जिसमें मैंने साइट पर लॉग इन किया है, दूसरी पंक्ति विंडोज पहचान है जिसके तहत अनुरोध चल रहा है - क्योंकि मैंने प्रतिरूपण सक्षम नहीं किया है, यह मेरा है विंडोज लॉगऑन वह खाता है जिस पर वेब सर्वर चल रहा है।

एपीआई के संदर्भ में, HttpRequest.LogonUserIdentity WindowsIdentity वर्ग है, जो हमेशा एक Windows उपयोगकर्ता खाते का प्रतिनिधित्व करेंगी में बुला रहा है, जबकि Page.User एक वस्तु जो IPrinciple लागू करता है, जो आप के एक नंबर का उपयोग कर एक उपयोगकर्ता का प्रतिनिधित्व करने की अनुमति देता है पैदा कर रही है विभिन्न बैकिंग स्टोर्स - उदाहरण के लिए सदस्यता प्रदाता द्वारा प्रदान की गई SQL डेटाबेस संरचना।