एक MVC3 आवेदन का निर्माण, और TPTB हमें अपने कस्टम प्राधिकरण प्रदाता का उपयोग करना चाहते हैं। हालांकि, विकास के दौरान यह प्रमाणन प्रदाता के बाद से यह या तो एक त्रुटि दे देंगे टिल आप शट डाउन/ब्राउज़र को पुनः आरंभ, या यह फिर से लॉग इन करें ओ हर संकलन पर करने की आवश्यकता होगी एक दर्द की तरह है।बाईपास या विकास के दौरान [अधिकृत (भूमिकाओं = "")] बंद कर देते हैं?
अभी के लिए, मैंने अभी भी <authentication mode="None"/>
को web.config में जोड़ा है, जो तब तक ठीक काम करता है जब तक कि मुझे [Authorize(Roles = "Admin")]
फ़िल्टर का उपयोग करने वाली कोई क्रिया या नियंत्रक न हो (यह केवल कोई व्यवस्थापक नहीं हो सकता है)। जब यह उनमें से किसी एक को हिट करता है, तो यह सिर्फ एक खाली पृष्ठ प्रस्तुत करता है।
वहाँ एक रास्ता इन फिल्टर बंद कर देते हैं और विश्व स्तर पर अस्थायी रूप से है? या जब मैं विकास में हूं तो उपयोगकर्ता को सभी भूमिकाएं दें?
संपादित
मुझे clarify- मैं वास्तव में MVC3 को MVC2 से एक बड़ी एप्लिकेशन पर पोर्टिंग रहा हूँ करते हैं। यह [Authorize(Roles="Admin")]
और [Authorize(Roles="Admin,Editor")]
यह भर के बहुत सारे है। यदि संभव हो तो मैं उन सभी को नहीं बदलूंगा।
मैं सिर्फ एक छोटे से कस्टम भूमिका प्रदाता है कि सभी भूमिकाओं स्वचालित रूप से देता है बनाना चाहिए?
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext.Request.Url.IsLoopback)
{
// It was a local request => authorize the guy
return true;
}
return base.AuthorizeCore(httpContext);
}
}
Anri का जवाब, बेहतर है सर्वर पर व्यवस्थापक अधिकार प्राप्त करने के लिए शोषण करते हैं। – AgentFire