Как перевести или запросить имя учетной записи SAM пользователя кэшированного домена, используя имя UPN из локального кеша в поставщике учетных данных, когда домен находится в автономном режиме? - PullRequest
2 голосов
/ 12 июля 2020

Я пишу поставщик учетных данных в Windows, и я пытаюсь добавить к нему поддержку входа по имени UPN, и для этого я использовал TranslateNameW TranslateNameW(UPName, NameUserPrincipal, NameSamCompatible, buffer, &size);, который дает мне SAM имя учетной записи, если указано имя UPN, и наоборот, и это работает, только когда домен находится в сети, и не будет работать, когда домен отключен.

Проблема здесь в том, когда пользователь домена кэшируется и когда домен не в сети Я не могу преобразовать это UPN в имя SAM, а затем windows выдает мне сообщение об ошибке, в котором говорится, что We can't sign you in with this credential because your domain isn't available. Make sure your device is connected to your organisation's network and try again if you previously signed on this device with another credential you can sign in with that credential. Windows поставщик учетных данных пароля работает нормально в этом сценарии, он может переводить UPN в SAM, даже если домен находится в автономном режиме.

Я не могу проанализировать имя UPN и преобразовать его в имя SAM, потому что не гарантируется, что имя UPN всегда совпадает с именем SAM, т.е. если UPN равно johndoe@example.com Имя SAM не обязательно должно быть johndoe это может быть jdoe или что угодно.

Итак, мой вопрос: как я могу получить доступ к имени учетной записи SAM этого пользователя кэшированного домена, когда домен i s offline, есть ли в VC ++ какая-либо функция, которая возвращает имя SAM при предоставлении UPN, когда домен находится в автономном режиме? Как я могу справиться с этим сценарием?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...