如何伪造System.Security.Principal.IIdentity使用FakeItEasy?

时间:2012-05-28 14:20:19

标签: asp.net asp.net-mvc-3 wif fakeiteasy

在我的应用中,用户通过WIF登录。用户的凭据存储在System.Security.Principal.IIdentity中。现在我想测试CreateUser()方法。 我必须以某种方式假装那个对象。我尝试做这样的事情: -extract方法返回该对象:

public IIdentity GetIdentity()
{
    return Thread.CurrentPrincipal.Identity;
}

然后在测试文件中执行以下操作:

    var identity = new GenericIdentity("mymail@mydomain.com");
    A.CallTo(() => _userRepository.GetIdentity()).Returns(identity);

但它不起作用。任何想法如何以最好的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

看看WIF的ClaimsPrincipalHttpModule。它将Windows身份转换为IClaimsPrincipal而无需STS。

另请查看SelfSTS这是一个非常有用的工具。