1

根据一些帖子,我决定尝试通过自定义用户 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;
    }
}

但是当调用此方法时,身份中没有任何声明...

所以我现在无法从那里检索索赔?

或者也许我应该做不同的事情?

4

1 回答 1

0

解决了问题,当我在网络配置中进行操作时,似乎我没有正确注册 OWIN 身份验证,它起作用了!

于 2014-02-05T18:19:47.943 回答