我需要在应用程序上登录一个用户,验证他的凭据。我找到了旧的LogonUser
API和新的PrincipalContext
对象。我真的很想使用PrincipalContext
,因为它很容易和智能,但我知道使用LogonUser
你可以得到一个令牌用于冒充用户?什么是模仿?是否有一种方法可以使用PrincipalContext
做同样的事情?
谢谢
如果您需要以不同的用户(通常具有更多/特定的访问权限)执行应用程序,则通常使用impersonation
在编程上下文中,术语"模拟"是指在另一个用户上下文中执行代码,而不是在最初启动应用程序的用户上下文中执行代码的技术,即在应用程序执行期间,用户上下文中临时更改一次或多次。
如果您需要验证用户并验证凭据,您可以使用PrincipalContext
。
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
bool auth = ctx.ValidateCredentials(username,password);
}