我想将一段使用 Windows Impersonation API 的代码包装到一个简洁的小助手类中,并且像往常一样,我正在寻找一种先测试的方法。但是,虽然 WindowsIdentity 是一个托管类,但作为另一个用户实际执行登录所需的 LogonUser 调用是 advapi32.dll 中的非托管函数。
我想我可以通过为我的助手类引入一个接口来使用并在实现中隐藏 P/Invoke 调用来解决这个问题,但是测试该实现仍然是一个问题。并且您可以想象在测试中实际执行模拟可能会有点问题,因为用户实际上需要存在于系统中。