7

यदि मैं अपने एमवीसी ऐप में एक विशेष अनुभाग सुरक्षित करना चाहता हूं, तो मैं एक्शनमेड के लिए [Authorize] का उपयोग करता हूं। मुझे यह भी पता है कि मैं इसे संपूर्ण नियंत्रक के लिए उपयोग कर सकता हूं ताकि मुझे इसे प्रत्येक एक्शन विधि के लिए निर्दिष्ट न करना पड़े।पूरे एएसपी.NET 5 एमवीसी 6 एप्लिकेशन को सुरक्षित करना

मैं वैश्विक स्तर पर प्राधिकरण की आवश्यकता चाहता हूं और केवल कुछ स्थानों में अज्ञात उपयोगकर्ताओं को अनुमति देने में सक्षम होना चाहता हूं। मैं उपयोगकर्ताओं को वैश्विक रूप से अधिकृत होने की आवश्यकता कैसे दूंगा और अज्ञात उपयोगकर्ताओं को कुछ एक्शन मोड में अनुमति दूं?

उत्तर

9

आप बस AuthorizeFilter रजिस्टर कर सकते हैं अपने Startup.cs में विश्व स्तर पर:

public void ConfigureServices(IServiceCollection services) 
{ 
    // configure/build your global policy 
    var policy = new AuthorizationPolicyBuilder() 
          .RequireAuthenticatedUser() 
          .Build(); 

    services.AddMvc(x => x.Filters.Add(new AuthorizeFilter(policy))); 
} 

(वास्तविक नीति-निर्माण बिट्स @ सैम खुद जवाब से लिया गया)

4

यहाँ जवाब है ... Startup कक्षा में, ConfigureServices विधि:

public void ConfigureServices(IServiceCollection services) 
     { 
      // Add framework services. 
      services.AddMvc(options => 
      { 
       options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build())); 
      }); 
     } 
+0

चूंकि आपने मेरा उत्तर सही के रूप में चिह्नित किया है। मैंने आपके पॉलिसी-बिल्डर का प्रासंगिक हिस्सा भी मेरे उत्तर में जोड़ा। – haim770

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