Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

C# Asp.Net webAPI में प्राधिकृत विशेषता का क्या उपयोग है?

प्राधिकरण यह तय करने की प्रक्रिया है कि प्रमाणित उपयोगकर्ता को किसी विशिष्ट संसाधन (वेब ​​एपीआई संसाधन) पर कार्रवाई करने की अनुमति है या नहीं। उदाहरण के लिए, डेटा प्राप्त करने और डेटा पोस्ट करने की अनुमति प्राप्त करना प्राधिकरण का एक हिस्सा है। प्राधिकरण प्रक्रिया नियंत्रक क्रिया विधि को निष्पादित करने से पहले होती है जो आपको यह तय करने की सुविधा प्रदान करती है कि हम उस संसाधन तक पहुंच प्रदान करना चाहते हैं या नहीं।

ASP.NET में वेब एपीआई प्राधिकरण प्राधिकरण फ़िल्टर का उपयोग करके कार्यान्वित किया जाता है जिसे नियंत्रक क्रिया विधि निष्पादित करने से पहले निष्पादित किया जाएगा। वेब एपीआई एक अंतर्निहित प्राधिकरण फ़िल्टर प्रदान करता है, AuthorizeAttribute। यह फ़िल्टर जाँचता है कि उपयोगकर्ता प्रमाणित है या नहीं। यदि नहीं, तो यह HTTP स्थिति कोड 401 (अनधिकृत) लौटाता है, बिना कार्रवाई किए।

हम फ़िल्टर को वैश्विक स्तर पर, नियंत्रक स्तर पर, या व्यक्तिगत क्रियाओं के स्तर पर लागू कर सकते हैं।

विश्व स्तर पर

प्रत्येक वेब एपीआई नियंत्रक के लिए एक्सेस प्रतिबंधित करने के लिए, वैश्विक फ़िल्टर सूची में AuthorizeAttribute फ़िल्टर जोड़ें।

public static void Register(HttpConfiguration config){
   config.Filters.Add(new AuthorizeAttribute());
}

नियंत्रक

किसी विशिष्ट नियंत्रक के लिए पहुंच प्रतिबंधित करने के लिए, फ़िल्टर को नियंत्रक में एक विशेषता के रूप में जोड़ें।

// नियंत्रक पर सभी कार्रवाइयों के लिए प्राधिकरण की आवश्यकता है।[अधिकृत करें]

public class StudentsController: ApiController{
   public HttpResponseMessage Get(int id) { ... }
   public HttpResponseMessage Post() { ... }
}

कार्रवाई

विशिष्ट कार्रवाइयों के लिए एक्सेस प्रतिबंधित करने के लिए, क्रिया विधि में विशेषता जोड़ें।

public class StudentsController : ApiController{
   public HttpResponseMessage Get() { ... }
   // Require authorization for a specific action.
   [Authorize]
   public HttpResponseMessage Post() { ... }
}

उदाहरण

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Authorize]
      public IHttpActionResult Get(){
         return Ok();
      }
   }
}

चूंकि हमने क्रिया विधि पर अधिकृत विशेषता जोड़ दी है, इसलिए उचित प्राधिकरण जैसे बियरर टोकन, एपीआई कुंजी, ओएथ इत्यादि का उपयोग क्रिया विधि तक पहुंचने के लिए किया जाना चाहिए। अनधिकृत पहुंच के परिणामस्वरूप 401 अनधिकृत होगा प्रतिक्रिया जो नीचे दिखाई गई है।

C# Asp.Net webAPI में प्राधिकृत विशेषता का क्या उपयोग है?


  1. C# ASP.NET WebAPI में Querystring पैरामीटर के साथ वर्जनिंग कैसे करें?

    DefaultHttpControllerSelector वेब एपीआई में वर्ग उपयुक्त नियंत्रक क्रिया पद्धति का चयन करने के लिए जिम्मेदार है जिसे हम यूआरआई में भेजते हैं। मान लें कि हमें नीचे की तरह क्वेरी स्ट्रिंग में वर्जनिंग को लागू करना है v=1 StudentsV1Controller (Version 1) v=2 StudentsV2Controller (Version 2) अगर हम क्

  1. C# ASP.NET WebAPI में विभिन्न प्रकार के फ़िल्टर क्या हैं?

    वेबएपी फ्रेमवर्क अनुरोध प्रसंस्करण के विभिन्न स्तरों पर अतिरिक्त तर्क को इंजेक्ट करने के लिए फिल्टर का उपयोग किया जाता है। फ़िल्टर क्रॉस-कटिंग चिंताओं (लॉगिंग, प्राधिकरण और कैशिंग) के लिए एक रास्ता प्रदान करते हैं। एक घोषणात्मक या प्रोग्रामेटिक तरीके से एक क्रिया विधि या नियंत्रक पर फ़िल्टर लागू किए

  1. C# ASP.NET WebAPI में कंट्रोलर एक्शन के विभिन्न रिटर्न प्रकार क्या हैं?

    वेब एपीआई क्रिया विधि में निम्नलिखित रिटर्न प्रकार हो सकते हैं। शून्य आदिम प्रकार/जटिल प्रकार HttpResponseMessage IHttpActionResult शून्य - यह आवश्यक नहीं है कि सभी क्रिया विधियों को कुछ वापस करना होगा। इसमें शून्य वापसी प्रकार हो सकता है। उदाहरण using DemoWebApplication.Models using