Что такое олицетворение и как оно работает с PrincipalContext
Мне нужно войти в систему пользователя в моем приложении, проверяя его учетные данные. Я нашел старый LogonUser
API и новый PrincipalContext
объект. Я бы очень хотел использовать PrincipalContext
потому что это легко и умно, но я знаю, что usign LogonUser
Вы можете получить токен, который будет использоваться для олицетворения пользователя? Что такое олицетворение? Есть ли способ сделать то же самое, используя PrincipalContext
?
Спасибо
1 ответ
Вы бы обычно использовали impersonation
если вам нужно выполнить ваше приложение от имени другого пользователя (обычно с более / более конкретным доступом), чем тот, который в данный момент зарегистрирован.
Термин "олицетворение" в контексте программирования относится к технике, которая выполняет код в другом пользовательском контексте, чем пользователь, который первоначально запустил приложение, то есть пользовательский контекст временно изменяется один или несколько раз во время выполнения приложения.
Если вам нужно аутентифицировать пользователя и подтвердить учетные данные, вы можете использовать PrincipalContext
,
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
bool auth = ctx.ValidateCredentials(username,password);
}