サーチ…


単純認証

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