将数据从端点传递到策略

时间:2020-11-10 10:33:23

标签: .net-core authorization .net-core-authorization

我正在努力在控制器中实施基于资源的授权策略。我为此使用AuthorizeAttributte。问题是我想将端点中的参数(id)传递给Policy,以便稍后可以在处理程序中使用id。 这是我的终点:

        [HttpGet("{id}/Document")]
        [Authorize(Policy = "GetDocumentPolicy")]
        public async Task<ActionResult<Result<Document>>> GetDocument(string id)
        {
            ....
        }

我需要以某种方式在策略中传递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 个答案:

没有答案