Передача данных из конечной точки в политику
Я работаю над реализацией политик авторизации на основе ресурсов в своем контроллере. Я использую
AuthorizeAttributte
для этого. Проблема в том, что я хочу передать параметр (id), который у меня есть в моей конечной точке, в политику, чтобы я мог работать с идентификатором позже в обработчике. Это моя конечная точка:
[HttpGet("{id}/Document")]
[Authorize(Policy = "GetDocumentPolicy")]
public async Task<ActionResult<Result<Document>>> GetDocument(string id)
{
....
}
Мне нужно как-то передать идентификатор в политике, поэтому в файле конфигурации я мог бы сделать что-то вроде этого:
services.AddAuthorization(options =>
{
options.AddPolicy("GetDocumentPolicy", policy =>
policy.Requirements.Add(new DocumentRequirement(id))); // id is the id that I need to pass from the end pont
});