我正在实现一个 Asp.Net WebApi应用程序,其中我在声明中存储了一些用户特定的值。
我的项目由几个类库项目组成,其中包含模型和控制器。
现在,我正在尝试访问除主项目(在类库中(控制器之外的声明。
//calling this from a class library
var identity = Thread.CurrentPrincipal.Identity; //No user information such as Id available
var claims = ClaimsPrincipal.Current.Claims; //Contains zero elements
这里的声明包含零元素。但是如果我将上面的代码放在主项目的控制器中,一切正常。
如何从外部程序集访问声明?
经过一番调查,我从启动配置类中删除了SuppressDefaultHostAuthentication();
。 现在Thread.CurrentPrincipal.Identity
按预期工作。