什么是模拟以及它如何与 PrincipalContext 一起使用

What is Impersonation and how does it work with PrincipalContext

我需要在我的应用程序上登录一个用户来验证他的凭据。我找到了旧的 LogonUser API 和新的 PrincipalContext 对象。 我真的很想使用 PrincipalContext,因为它既简单又智能,但我知道使用 LogonUser 可以获得用于模拟用户的令牌?什么是模仿?有没有办法使用 PrincipalContext?

做同样的事情

谢谢

如果您需要以不同于当前用户的身份 (通常具有 more/specific 访问权限) 执行您的应用程序,您通常会使用 impersonation已登录。

The term "Impersonation" in a programming context refers to a technique that executes the code under another user context than the user who originally started an application, i.e. the user context is temporarily changed once or multiple times during the execution of an application.

如果您需要对用户进行身份验证并验证凭据,可以使用 PrincipalContext

using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
   bool auth = ctx.ValidateCredentials(username,password); 
}