c# - Post Body 在策略授权中访问后丢失
问题描述
所以我在我的 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;
}
到目前为止一切顺利,一切正常,但是,在控制器本身中,主体为空。我猜是因为流已经被读取了?如何重置流?
大摇大摆告诉我
{
"": [
"A non-empty request body is required."
]
}
解决方案
推荐阅读
- linux-kernel - 无法从任何来源获取 URL - 在运行 BitBake 时
- c# - .NET Core 中的 TraceSource 未捕获事件
- python - DRF 此字段为必填项
- javascript - 基于范围的正/负的 JS Sum 套件
- excel - 根据多个条件计算唯一单元格值
- python - python中的多重继承使用函数super()
- python - UnicodeEncodeError:“latin-1”编解码器无法在位置 0 编码字符“\u201d”:序数不在范围内(256)
- c# - 获取模型绑定列表框的 SelectedItem 字符串表示
- javascript - 如何从 JavaScript 获取输入文件名到 python?
- audio - 在 PC 上如何处理 PCM 音频数据?