Microsoft.AspNet.Identity 3 中的 ClaimsAuthorizationAttribute 等效项

Equivalent of ClaimsAuthorizationAttribute in Microsoft.AspNet.Identity 3

有谁知道相当于:

[ClaimsAuthorization(ClaimType="", ClaimValue="")]

Microsoft.AspNet.Identity 3 (beta6)

标识为 2.1 的示例:

[HttpGet]
[ClaimsAuthorization(ClaimType="ManageStore", ClaimValue="Allowed")]
public IActionResult Register()
{
     return View();
}

@tailmax 的方法适用于 ASP.NET 5 beta4,但不适用于 beta5、beta6 和下一个版本,因为 AuthorizeAttribute 已经完全改版并且不会公开 OnAuthorization 了(现在只是一个标记)。

推荐的方法是使用新的授权服务配置新策略,只需使用AuthorizeAttribute:

public void ConfigureServices([NotNull] IServiceCollection services) {
    services.ConfigureAuthorization(options => {
        options.AddPolicy("ManageStore", policy => {
            policy.RequireAuthenticatedUser();

            policy.RequireClaim("ManageStore", "Allowed");
        });
    });
}

public class StoreController : Controller {
    [Authorize(Policy = "ManageStore"), HttpGet]
    public async Task<IActionResult> Manage() { ... }
}