【发布时间】:2015-06-06 21:27:07
【问题描述】:
我需要在绑定我的服务时访问我的声明,但似乎 Ninject 绑定发生在 HttpMessageHandlerAdapter 设置 Thread.CurrentPrincipal 之前,因此我在绑定我的服务时无法访问我的声明。我试过这个
kernel.Bind<IMyService>().ToMethod(x => GetMyService());
private static IMyService GetMyService()
{
var principal = Thread.CurrentPrincipal;
var userId = [GetUserIdFromPrincipalClaims]
return new MyService(userId);
}
但是声明列表是空的,如果我从任何操作访问 Thread.CurrentPrincipal 声明列表,我可以获得一个 userId。绑定时如何访问我的声明列表?
【问题讨论】:
标签: asp.net-web-api ninject owin