根据一些帖子,我决定尝试按自定义用户ID绑定用户,而不是IPrincipal.Identity.Name
。
所以我实施了:
public class CustomUserIdProvider : IUserIdProvider
{
public string GetUserId(IRequest request)
{
var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;
string id = identity.Claims.Where(c => c.Type == UserInfoIdClaimType)
.Select(c => c.Value).Single();
return id;
}
}
但是当调用此方法时,身份中没有声明...
所以我现在无法检索那里的声明吗?
或许我应该采取不同的方式?
答案 0 :(得分:0)
解决了问题,似乎我在网络配置中没有正确注册OWIN auth,它有效!