J'ai configuré mon interface web pour qu'elle fonctionne avec l'authentification Windows. Mon objectif est essentiellement de restreindre certaines actions dans mes contrôleurs en fonction du compte Windows de l'utilisateur. Certains pourront effectuer des actions de lecture tandis que d'autres pourront effectuer des actions d'écriture dans la base de données sous-jacente. J'ai trouvé beaucoup de documentation sur la façon de mettre en place une autorisation basée sur les revendications, ce qui est la voie que je pense devoir suivre. Ce que je n'ai pas trouvé, c'est comment configurer cela avec l'authentification Windows. Je pense qu'il me manque une étape intermédiaire telle que l'enregistrement de l'authentification Windows en tant que fournisseur d'identité ?
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(`???????????????????????`));
});
}
Contrôleur
[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
}
}
Je suppose qu'une autre façon de poser la question est de savoir comment configurer ou accéder aux revendications/rôles etc... avec l'authentification Windows.