所以我的asp.net核心应用程序具有策略授权。对于一项特定策略,我需要访问http post请求的正文。所以我读了这样的身体:
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, AccessRequirement requirement)
{
if (context.Resource is AuthorizationFilterContext authContext)
{
using (var stream = new StreamReader(authContext.HttpContext.Request.Body)
{
dynamic body = stream.ReadToEnd();
// do more stuff
}
return Task.CompletedTask;
}
到目前为止,一切正常,但是,在控制器本身中,body为空。我猜是因为流已被读取?如何重置流?
昂首阔步告诉我
{
"": [
"A non-empty request body is required."
]
}