तो, मैं तो जैसे web.configs के साथ वेब क्षुधा है:निर्धारित करें कि वर्तमान पृष्ठ को प्राधिकरण की आवश्यकता है या नहीं?
<authorization>
<deny users="?"/>
</authorization>
...
<location path="SomeUnsecuredPage.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
दूसरे शब्दों में, अधिकांश पृष्ठों प्रमाणीकरण और प्राधिकरण की आवश्यकता होती है, लेकिन कुछ नहीं है।
तब मेरे पास एक IHttpModule है जिसका उपयोग सभी विभिन्न अनुप्रयोगों द्वारा किया जाएगा। मैं बस इतना करना चाहता हूं कि वर्तमान अनुरोध "सुरक्षित" है या नहीं। अगर पृष्ठ को प्राधिकरण की आवश्यकता नहीं है, तो मैं नहीं चाहता कि मेरा IHttpModule कुछ भी करे। मैं फॉर्म प्रमाणीकरण का उपयोग कर रहा हूं और मुझे लगता है कि फॉर्म प्रमाणीकरण में पहले से ही यह सारी जानकारी कैश की गई है, है ना? इसके अलावा, चूंकि यह चेक लगातार चल रहा है इसलिए इसे बहुत तेज़ होना चाहिए।
मैं वर्तमान में HttpAplication.AuthorizeRequest की सदस्यता ले रहा हूं, लेकिन आश्चर्य की बात यह है कि यह ईवेंट उन संसाधनों के लिए भी आग लगती है जो अज्ञात पहुंच की अनुमति देते हैं।
कोई विचार? पढ़ने के लिए धन्यवाद!
+1 को वोट दें। कोड का बहुत उपयोगी टुकड़ा। हालांकि, इसे 'UrlAuthorizationModule' का उदाहरण बनाने की आवश्यकता नहीं है। बस स्थिर विधि 'CheckUrlAccessForPrincipal' का उपयोग करना पर्याप्त है। –