Я настроил свой веб-API для работы с аутентификацией Windows.Моя цель по сути ограничить определенные действия в моих контроллерах на основе учетной записи Windows пользователя.Некоторые из них смогут предварительно выполнить действия чтения, а другие смогут выполнить действия, которые будут записаны в базовую базу данных.Я нашел много документации о том, как настроить авторизацию на основе утверждений, которая, как мне кажется, должна пройти.Чего я не нашел, так это как настроить Windows Auth.Я думаю, что мне не хватает среднего шага, такого как регистрация Windows Auth в качестве поставщика удостоверений?
startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddAuthorization(options =>
{
options.AddPolicy("readOnly", policy =>
policy.RequireClaim(`???????????????????????`));
options.AddPolicy("write", policy =>
policy.RequireClaim(`???????????????????????`));
});
}
Контроллер
[Authorize(Policy = "ReadOnly")]
public class MyController : Controller
{
public ActionResult SomeReadOnlyAction()
{
//Return data from database
}
[Authorize(Policy = "Write")]
public ActionResult AWriteAction()
{
//Create/Update/Delete data from database
}
}
Я думаю, что другой способ задать этот вопрос, какВы настраиваете или получаете доступ к утверждениям / ролям и т. д. с помощью аутентификации Windows.