Web-API、委派处理程序和安全性.主体在控制器中重置



我的Web-API服务中有一个DelegatingHandler,它根据提供的头在Thread.CurrentPrincipal和HttpContext.Current.User上设置一个自定义IPrincipal(ServicePrincipal)。这一切都是在对SendAsync的调用上完成的。

然而,当调用进入Controller时,User属性、HttpContext.User和Thread.CurrentPrincipal都神秘地设置为RolePrincipal。

有人知道我做错了什么,或者如何防止设置额外的主体吗?

谢谢,
Kieron

我知道这个问题很老了,但我在试图从覆盖DelegatingHandler.SendAsync()的函数中获取当前用户时遇到了类似的问题。IPrincipal对象似乎直到调用base.SendAsync()之后才被初始化。调用该行之后,IPrincipal对象应该具有用户信息。

我使用了request.GetRequestContext().Principal来检索它,但我猜Thread.CurrentPrincipal也会起作用。

相关内容

  • 没有找到相关文章

最新更新