सेटअप (MVC 4 का उपयोग)ASP.net MVC वैश्विक अधिकृत फिल्टर एक AllowAnonymous कार्रवाई
public class MyAuthorizeAttribute : AuthorizeAttribute {
protected override bool AuthorizeCore(HttpContextBase httpContext) {
var isAuthorised = base.AuthorizeCore(httpContext);
if(isAuthorised) {
// retrieve authentication ticket from cookie and
// create custome principal and attach to
// httpContext.User
}
return isAuthorised;
}
}
Gloabl.asax.cs पर लॉगिन लिए मजबूर:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new MyAuthorizeAttribute());
}
HomeController.cs:
using System.Web.Mvc;
public class HomeController : Controller
{
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
}
समस्या
होम पेज पर एक कॉल लॉगिन पृष्ठ को लोड करने के लिए मजबूर करता है।
प्रश्न
जब HomeController.Index() कार्रवाई [AllowAnonymous] से सजाया गया है, यही कारण है कि एएसपी मुझे लॉगिन दृश्य पर पुन: निर्देशित करता है?
मैं संदर्भ
के लिए this लेख का उपयोग कर रहा
मैंने अभी अंतर्निहित प्राधिकरण के साथ जांच की है और यह मेरे लिए ठीक काम कर रहा है। हो सकता है कि आपको अपने कस्टम अधिकृत कोड से जांच करनी पड़े। – VJAI
मैंने अंतर्निहित प्राधिकृत विशेषता के साथ प्रयास किया है, जो मेरे ग्लोबल.एक्सएक्स में वैश्विक फ़िल्टर में जोड़ा गया विशेषता बदल रहा है लेकिन होम नियंत्रक पर इंडेक्स एक्शन को कॉल करते समय भी मुझे लॉगिन पेज पर रीडायरेक्ट किया जा रहा है। क्या मैं कुछ भूल रहा हूँ? मेरी वेब कॉन्फ़िगरेशन में कुछ सेटिंग? मेरे पास कोई सदस्यता प्रदाता, भूमिका प्रदाता या प्रोफाइल प्रदाता कॉन्फ़िगर नहीं है। क्या मेरे पास होना चाहिए? –
वेब.कॉन्फिग में प्रपत्र प्रमाणीकरण सेटिंग्स एक लॉगिन पृष्ठ पर रीडायरेक्ट है। लेकिन आपको अतिरिक्त सेटिंग्स की आवश्यकता नहीं है। मैंने एक नया एमवीसी 4 एप्लिकेशन/इंटरनेट टेम्पलेट बनाने की कोशिश की जिसमें होम कंट्रोलर को प्राधिकरण और इंडेक्स एक्शन के साथ अनुमति दें और यह अपेक्षित के रूप में काम करता है। – VJAI