2009-09-16 24 views
5

मुझे पता है कि यह हर जगह समझाया गया कुछ ऐसा लगता है .. लेकिन मैं बहुत सारे एएसपीनेट/वीडियो पढ़ने वाले लेख देख रहा हूं - और अभी भी कुछ याद आ रही है जो बताती है कि यह "सदस्यता" कैसे मिलती है।एएसपी.नेट उपयोगकर्ता/सदस्यता/सदस्यता उपयोगकर्ता/सुरक्षा/प्रिंसिपल/प्रोफाइल ... सहायता

एक तरफ, यह अंतर्निहित .NET उपयोगकर्ता प्रबंधन है जो आपको भूमिकाएं, उपयोगकर्ता इत्यादि बनाने की अनुमति देता है। दूसरी तरफ, उस उपयोगकर्ता को प्राप्त करने, इसे संग्रहीत करने (सत्र आदि में) एक अजीब कार्य लगता है , मैंने जो पढ़ा है, उससे आपकी खुद की 'प्रिंसिपल' ऑब्जेक्ट्स आदि शामिल हैं।

यदि वहां कोई भी व्यक्ति है जिसकी समझ और समय है, तो क्या वे हमें (मुझे) एक संक्षिप्त विवरण दे सकते हैं कि सभी के साथ क्या है इस। हो सकता है कि यह एक साथ कैसे संबंध रखता है ... मैं एक स्ट्रिंग उपयोगकर्ता नाम/पासवर्ड का उपयोग कैसे करता हूं यह देखने के लिए कि कोई खाता मौजूद है या नहीं, इन्हें लॉग इन करें, जांचें कि क्या वे किसी कार्रवाई के लिए सही भूमिका में हैं या यहां तक ​​कि सभी भूमिकाएं भी प्राप्त करें का भाग है?

मुझे पता है कि यह प्रश्न उन लोगों के साथ अच्छी तरह से नीचे नहीं जा सकता है जो पहले से ही .NET उपयोगकर्ता सामग्री को अच्छी तरह समझते हैं, लेकिन अगर आप मदद कर सकते हैं तो कृपया केवल उत्तर दें।

अग्रिम में बहुत धन्यवाद। पेटेस्की

उत्तर

6

आपको अपनी खुद की मुख्य वस्तु बिल्कुल बनाने की ज़रूरत नहीं है। यदि आप आवश्यक हो, तो उपयोगकर्ता के लिए प्राधिकरण सेट करने के लिए आप अपने उपयोगकर्ता को प्रबंधित करने और रोलप्रोवाइडर (उदा: SQLRoleProvider) में से किसी एक का उपयोग करने के लिए आउट ऑफ़ द बॉक्स सदस्यता प्रदाता (उदा: SQLMembershipProvider) का उपयोग कर सकते हैं।

उपयोगकर्ता प्राप्त करने के लिए, आपको सत्र में इसे स्टोर करने की आवश्यकता नहीं है। मौजूदा उपयोगकर्ता मूलभूत जानकारी (नाम, प्रमाणीकृत) प्राप्त करने के लिए बस पृष्ठ का उपयोग करें। उपयोगकर्ता। यदि उपयोगकर्ता अगर उपयोगकर्ता क्रेडेंशियल सही हैं, आप

Membership.ValidateUser(username,password). 

उपयोग कर सकते हैं लॉगऑन करने के लिए

जाँच करने के लिए, मैं तुम्हें प्रदान की ASP.NET लॉग इन नियंत्रण का उपयोग करने का सुझाव लेकिन आप एक छोटे से स्वयं का प्रवेश कोड कर सकते हैं और काम।

if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) 
    FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked); 
else 
    Msg.Text = "Login failed. Please check your user name and password and try again."; 

पुनश्च:: आप प्रपत्र प्रमाणीकरण का उपयोग करते हैं, तो ऐसा लगता है जैसे कुछ उदाहरण जांच करने के लिए

अंत में, MSDN

से आता है, तो उपयोगकर्ता कोई ऐसा कार्य प्रदर्शन कर सकते हैं, तो आप उपयोग

RoleProvider.IsUserInRole(username,rolename) 

आप आपके web.config में कॉन्फ़िगरेशन प्रमाणीकरण द्वारा संसाधन (एक पृष्ठ, एक फ़ाइल, एक फ़ोल्डर इत्यादि) तक पहुंच को नियंत्रित भी कर सकता है:

< प्रमाणीकरण> < उपयोगकर्ताओं से इनकार करते हैं = "?" /> < अनुमति देते हैं भूमिकाओं = "व्यवस्थापक" /> < उपयोगकर्ताओं = "*" /> </प्राधिकरण> इस मदद

आशा से इनकार और अधिक जानकारियां के लिए पूछने के लिए स्वतंत्र गिर गया है, तो यह नहीं है स्पष्ट

संपादित

अपनी टिप्पणी का जवाब करने के लिए, यहाँ यह कैसे काम करता है:

पृष्ठ।वर्तमान में लॉग इन उपयोगकर्ता की पहचान करने के लिए उपयोगकर्ता प्रमाणीकरण कुकी का उपयोग करता है। यह कुकी स्वचालित रूप से FormsAuthentication.RedirectFromLoginPage में सेट की गई है, लेकिन यदि आप केवल मौजूदा उपयोगकर्ता को रीडायरेक्ट किए बिना सेट करना चाहते हैं, तो आप मैन्युअल रूप से फॉर्म्स प्रमाणीकरण को सेट कर सकते हैं। SetAuthCookie (userName, persistentCookie) जहां लगातार Cookie एक बूलियन मान बताता है कि क्या आप यह कुकी लगातार बने रहना चाहते हैं या ब्राउज़र में नहीं।

आशा है कि यह मूल उत्तर

+0

हाय मार्टिन, यह थोड़ा-सा व्यावहारिक रूप से मदद करता है। हालांकि क्या होगा यदि मैं किसी उपयोगकर्ता को एक पृष्ठ से दूसरे पृष्ठ पर रीडायरेक्ट नहीं करना चाहता हूं .. यह तरीका कौन सा तरीका है जो पेज.उसर सेट करता है (यानी उन्हें लॉग इन करता है)। क्या RedirectFromLoginPage यह करता है? (इंटेलिजेंस स्पष्ट नहीं करता है)। मैं सदस्यता के प्रत्येक भाग के बारे में एक स्पष्टीकरण की तलाश भी कर रहा था (इसे समझने में और संदर्भ के लिए)। लेकिन आपकी प्रतिक्रिया के लिए अब तक धन्यवाद! बहुत सराहना की! – peteski

+0

मैंने अब पाया है कि फॉर्म्स प्रमाणीकरण.SetAuthCookie(); मैं 'उपयोगकर्ता को लॉग इन कर सकता हूं' .. फिर मैं उसी पृष्ठ पर रीडायरेक्ट कर सकता हूं जहां मैं अलग-अलग भूमिकाओं को संभालने के लिए तर्क जोड़ सकता हूं। – peteski

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