लौटाता है मैं एक एएसपी.नेट एमवीसी ऐप को प्राधिकरण जोड़ने पर काम कर रहा हूं और सड़क ब्लॉक में चला गया हूं। मैं अंततः हमारे कस्टम सदस्यता प्रदाता को वायर्ड करने में सक्षम था और ऐप के लिए प्रमाणीकरण काम कर रहा था। अब, जैसा कि अपेक्षित है, अगर मैं अपने नियंत्रकों को [अधिकृत] विशेषता जोड़ता हूं, तो उपयोगकर्ता को पृष्ठ देखने के लिए प्रमाणित होना चाहिए। मैंने सफलतापूर्वक परीक्षण किया है [प्राधिकरण (उपयोगकर्ता = "{उपयोगकर्ता नाम}")] जो उस विशिष्ट उपयोगकर्ता को पृष्ठ को प्रतिबंधित करने के लिए भी काम करता है।HttpContext.Current.User.IsInRole (roleName) हमेशा झूठी
समस्या यह है कि [प्राधिकरण (भूमिकाएं = "{रोलनाम}")] जैसा कि मैं उम्मीद कर रहा हूं काम नहीं करता है। यदि मैं उस विशेषता को नियंत्रक में जोड़ता हूं, तो जब भी मैं संबंधित पृष्ठ तक पहुंचने का प्रयास करता हूं, तो मुझे हमारे लॉगिन पेज पर रीडायरेक्ट किया जाता है। यदि उपयोगकर्ता की आवश्यक भूमिका नहीं है तो यह वही होगा, लेकिन यह तब भी हो रहा है जब उपयोगकर्ता की भूमिका हो। मैंने एक दृश्य, एक नियंत्रक और एक सहायक विधि में उपयोगकर्ता .IsInRole ("{roleName}") और HttpContext.Current.User.IsInRole ("{roleName}") दोनों की जांच की है और यह हमेशा 'गलत' लौटाता है।
मैंने सत्यापित किया है कि जिन उपयोगकर्ताओं के साथ मैं काम कर रहा हूं उनमें भूमिकाएं हैं जिनके खिलाफ मैं अधिकृत करने की कोशिश कर रहा हूं। मैंने इन उपयोगकर्ताओं को वेबफॉर्म ऐप में भी परीक्षण किया है जो समान भूमिकाओं से पृष्ठ पहुंच को प्रतिबंधित करता है और यह ठीक काम करता है। मुझे लगता है कि मेरे पास कहीं कुछ गड़बड़ है या कुछ आसान याद आ रहा है, लेकिन सभी सुबह खोज करने के बाद, मुझे कुछ भी नहीं मिला है जो मुझे समाधान के करीब ले गया है, इसलिए मुझे उम्मीद है कि यहां कोई मेरी मदद कर सकता है।
अरे, आप हमें यह बताने के लिए अपना जवाब संपादित कर सकते हैं कि कॉन्फ़िगरेशन क्या थे - भविष्य में दूसरों की सहायता कर सकते हैं। – sirrocco
सिरोक्रो - कॉन्फ़िगरेशन सेटिंग्स हमारे कार्यान्वयन और पर्यावरण के लिए विशिष्ट थीं, इसलिए वे किसी और के लिए किसी भी उपयोग का नहीं होगा। – Hamman359
आपकी टिप्पणी ने मुझे अपने web.config को दोबारा जांचने के लिए प्रेरित किया और मैंने पाया कि भूमिका प्रबंधक नोड सक्षम था = "झूठा"। मैं सिर्फ लोगों को यह जानना चाहता था कि अगर यह अक्षम है तो यह IsInRole के लिए झूठा रिटर्न देता है क्योंकि आप किसी तरह के अपवाद को वापस करने के विरोध में हैं। –