我正在尝试使用最新版本的asp.net 5进行身份验证和授权。
是否有简单的示例说明需要添加到Startup.cs中以连接此功能?
答案 0 :(得分:1)
This article很好地解决了这个问题。
基本上,[Authorize(Roles = "Blah")]
仅用于向后兼容,而政策是前进的方向。
我不会剪切和粘贴它,但实际上,对于此操作:
[Authorize("SalesOnly")]
public IActionResult DoSalesyStuff()
{ /* .. */ }
在Startup.ConfigureServices:
中连线// only allow authenticated users
var defaultPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
services.AddMvc(setup =>
{
setup.Filters.Add(new AuthorizeFilter(defaultPolicy));
});
services.AddAuthorization(options =>
{
// inline policies
options.AddPolicy("SalesOnly", policy =>
{
policy.RequireClaim("department", "sales"); // Some policy
});
});
作者已将full example code on github和security middleware is here的来源。
放在一起