我正在尝试将我的标准 WebApi 应用程序移至 OWIN,但在身份和 $batch 请求方面存在问题。
我目前有一个DelegatingHandler
检测并分配身份的SendAsync
:
// Detect bearer token and build the identity above.
IOwinContext owinContext = request.GetOwinContext();
owinContext.Authentication.User = new ClaimsPrincipal(identity);
对于正常的请求,这会一直持续到ODataController.User
. 但是,在$batch
请求时,属性会返回到未经身份验证的ClaimsIdentity
.
甚至GetOwinContext
返回一个IOwinContext
没有任何用户的。我假设它为每个批次部分创建了一个新的上下文,但我看不到任何找到原始上下文的方法。
任何帮助都会很棒!