2011-08-10 6 views
7

में व्यवस्थापक लॉगिन के लिए केवल ELMAH.axd तक पहुंच प्रदान करने के लिए मैंने एप्लिकेशन बनाया है और ELMAH लॉगिंग लागू किया है। मेरी साइट में तीन प्रकार के उपयोगकर्ता हैं। वेब

  • व्यवस्थापक: सब कुछ (अधिकार elamh.axd देखने पर) कर सकते हैं
  • उपयोगकर्ता: खुद अधिकार हो सकता है (elamh.axd नहीं देख सकते हैं)
  • अतिथि: केवल दृश्य (नहीं कर सकते elamh.axd देखें)
  • उपरोक्त उपयोगकर्ता डेटाबेस में संग्रहीत किया जाएगा।

    समस्या: - अब मैं ELMAH.axd लॉग फ़ाइल देखने के लिए उपयोगकर्ता और अतिथि के लिए सुरक्षा स्तर कैसे प्रबंधित कर सकता हूं?

    उत्तर

    10

    आप Roles उपयोग कर रहे हैं तो आप अपने web.config को यह जोड़ सकते हैं:

    <location path="~/elmah.axd"> 
        <system.web> 
         <authorization> 
          <allow roles="Admin" /> 
          <deny users="*" /> 
         </authorization> 
        </system.web> 
    </location> 
    

    आप भूमिकाओं का उपयोग नहीं कर रहे हैं तो आप प्रत्येक उपयोगकर्ता के लिए पहुँच प्रदान करना चाहते निर्दिष्ट करने के लिए करना होगा:

    <location path="~/elmah.axd"> 
        <system.web> 
         <authorization> 
          <allow users="user1, user2, user3" /> 
          <deny users="*" /> 
         </authorization> 
        </system.web> 
    </location> 
    

    अद्यतन:

    आप प्रमाणीकरण/प्राधिकरण में बनाया गया और तुम नहीं हा के किसी भी उपयोग नहीं कर रहे हैं BeginRequest() ईवेंट को संभालने के लिए आपको एल्माह पेज पर नियंत्रण रखना होगा:

    protected void Application_BeginRequest() 
    { 
        if(Request.Url.AbsolutePath.ToLowerInvariant().Contains("elmah.axd")) 
        { 
         // Check if user can see elmah and handle unauthorised users (return 401/redirect to login page/etc...) 
        } 
    } 
    
    +0

    आपके उत्तर के लिए धन्यवाद। ** मैं सत्र ** के साथ उपयोगकर्ता को प्रबंधित कर रहा हूं, तो यह नेमस्पेस ** सिस्टम.Web.Mvc और HttpSessionStateBase ** – imdadhusen

    +0

    के साथ कैसे काम करेगा, क्या आप एएसपीनेट सदस्यता का उपयोग कर रहे हैं? –

    +0

    नहीं, मैं ** सत्र ["उपयोगकर्ता नाम"] = "व्यवस्थापक; ** का उपयोग कर रहा हूं Asp.Net MVC 3.0 – imdadhusen

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