खोज…


सरल प्राधिकरण

Asp.net कोर में AuthorizeAttribute केवल AuthorizeAttribute

[Authorize]
public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    public IActionResult Post()
    {
    }
}

यह केवल इन कार्यों तक पहुंचने के लिए उपयोगकर्ता को लॉग इन करने की अनुमति देगा।

या केवल एक क्रिया को सीमित करने के लिए निम्नलिखित का उपयोग करें

public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    [Authorize]
    public IActionResult Post()
    {
    }
}

यदि आप सभी उपयोगकर्ताओं को उन कार्यों में से एक का उपयोग करने की अनुमति देना चाहते हैं जो आप AllowAnonymousAttribute उपयोग कर सकते हैं

[Authorize]
public class SomeController: Controller
{
    public IActionResult Get()
    {
    }
    
    [AllowAnonymous]
    public IActionResult Post()
    {
    }
}

अब Post को किसी भी उपयोगकर्ता द्वारा एक्सेस किया जा सकता है। AllowAnonymous हमेशा प्राधिकृत करने के लिए प्राथमिकता के रूप में आता है, इसलिए यदि एक नियंत्रक AllowAnonymous लिए सेट है, तो यह सभी क्रियाएं सार्वजनिक हैं, भले ही उनके पास कोई AuthorizeAttribute या नहीं।

अधिकृत अनुरोधों की आवश्यकता के लिए सभी नियंत्रकों को सेट करने का एक विकल्प है -

services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
}) 

यह प्रत्येक नियंत्रक के लिए एक डिफ़ॉल्ट प्राधिकरण नीति को जोड़कर किया जाता है - कोई भी Authorize / AllowAnonymous एक नियंत्रक / कार्रवाई पर गुण इन सेटिंग्स को ओवरराइड करेगा।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow