Передача данных из конечной точки в политику

Я работаю над реализацией политик авторизации на основе ресурсов в своем контроллере. Я использую 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
            });

0 ответов

Другие вопросы по тегам