структура MSV1_0_LM20_LOGON (ntsecapi.h)

Структура MSV1_0_LM20_LOGON содержит сведения о входе в систему, используемые при входе в сеть.

Используется LsaLogonUser.

Синтаксис

typedef struct _MSV1_0_LM20_LOGON {
  MSV1_0_LOGON_SUBMIT_TYPE MessageType;
  UNICODE_STRING           LogonDomainName;
  UNICODE_STRING           UserName;
  UNICODE_STRING           Workstation;
  UCHAR                    ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
  STRING                   CaseSensitiveChallengeResponse;
  STRING                   CaseInsensitiveChallengeResponse;
  ULONG                    ParameterControl;
} MSV1_0_LM20_LOGON, *PMSV1_0_LM20_LOGON;

Члены

MessageType

Значение MSV1_0_LOGON_SUBMIT_TYPE , указывающее тип запрашиваемого входа. Для этого элемента необходимо задать значение MsV1_0Lm20Logon или MsV1_0NetworkLogon.

Если для этого элемента задано значение MsV1_0Lm20Logon, пакет MSV1_0 игнорирует элемент ParameterControl .

LogonDomainName

UNICODE_STRING, содержащий имя домена входа. Указанное доменное имя должно быть доменом Windows (или смешанным доменом), который находится в списке доверенных доменов этого компьютера. Если доменное имя входа неизвестно (например, для клиентов, которые не предоставляют эти сведения), этот член следует передать в виде строки нулевой длины. Этот домен является центром проверки подлинности.

UserName

UNICODE_STRING, представляющий имя учетной записи пользователя. Имя может иметь длину до 255 байт. Имя обрабатывается как без учета регистра.

Workstation

UNICODE_STRING, содержащий имя компьютера клиентской рабочей станции, с которой был инициирован запрос на вход пользователя.

ChallengeToClient[MSV1_0_CHALLENGE_LENGTH]

Содержит запрос, возвращенный при предыдущем вызове LsaCallAuthenticationPackage, когда MsV1_0Lm20ChallengeRequest был указан в качестве типа сообщения. Дополнительные сведения см. в описании MsV1_0Lm20ChallengeRequest в MSV1_0_PROTOCOL_MESSAGE_TYPE. Это позволяет пакету проверки подлинности определить, является ли ответ на запрос правильным.

CaseSensitiveChallengeResponse

Содержит функцию пароля в Юникоде клиента с учетом регистра. Как правило, это будет член ChallengeToClient , зашифрованный версией пароля с учетом регистра.

Некоторые клиенты просто предоставляют пароль Юникода с учетом регистра в виде открытого текста. В этом случае этот член указывает на пароль в виде открытого текста . Пакет проверки подлинности MSV1_0 может принимать эту незашифрованную форму в зависимости от параметра конфигурации.

Некоторые клиенты не поддерживают пароли Юникода с учетом регистра. В этом случае этот элемент должен содержать строку нулевой длины.

CaseInsensitiveChallengeResponse

Содержит функцию нечувствительного к регистру пароля клиента с многобайтовой кодировкой (MBCS). Как правило, это будет член ChallengeToClient , зашифрованный версией пароля без учета регистра.

Клиенты, поддерживающие только MBCS и не Юникод , предоставляют пароль MBCS без учета регистра в виде открытого текста . В этом случае этот член указывает на пароль в виде открытого текста . Пакет проверки подлинности MSV1_0 принимает эту незашифрованную форму в зависимости от параметра конфигурации.

ParameterControl

Задает атрибуты других параметров. Это может быть один или несколько из следующих флагов.

Значение Значение
MSV1_0_CLEARTEXT_PASSWORD_ALLOWED
02
LanMan2.0 или LanMan1.0 отправляют пароль в виде открытого текста вместо ответа на запрос. Чтобы разрешить использование паролей в виде открытого текста в сообщении NetworkLogon, приложение должно предоставить этот флаг.
MSV1_0_UPDATE_LOGON_STATISTICS
04
Обновите статистику входа в учетную запись. Если этот флаг не установлен, при успешном входе в систему для счетчика недопустимых паролей устанавливается значение нулю.
MSV1_0_RETURN_USER_PARAMETERS
08
Если этот флаг указан, элемент UserParameters буфера возврата MSV1_0_LM20_LOGON_PROFILE является допустимым.
MSV1_0_DONT_TRY_GUEST_ACCOUNT
10
Запрещает пользователю входить в систему с помощью гостевой учетной записи.
MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT
20
Если этот флаг установлен, учетные записи контроллера домена можно использовать для проверки подлинности; В противном случае можно использовать только учетные записи пользователей.
MSV1_0_RETURN_PASSWORD_EXPIRY
40
Возвращает время истечения срока действия пароля в элементе LogoffTimeструктуры MSV1_0_LM20_LOGON_PROFILE , возвращаемой в выходном буфере.
MSV1_0_USE_CLIENT_CHALLENGE
80
Указывает, что CaseInsensitiveChallengeResponse содержит запрос клиента в первых 8 байтах.
MSV1_0_TRY_GUEST_ACCOUNT_ONLY
100
Вызывает вход пользователя с помощью гостевой учетной записи.
MSV1_0_RETURN_PROFILE_PATH
200
Возвращает путь к профилю для шифрованной файловой системы (EFS). Путь к профилю используется EFS для поиска профиля пользователя и его ключей для шифрования и расшифровки файлов. Эти сведения не возвращаются вызывающей объекту; он хранится в LSA и используется внутренними процессами.
MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY
400
В обычной работе в качестве предложения используется член LogonDomainName . Пакет (с использованием службы NetLogon) будет продолжать передавать запрос на вход в контроллеры домена выше по пути доверенного домена, пока один из авторитарных данных не отклонит вход.

Этот флаг переопределяет это поведение, чтобы только указанный контроллер домена попытается обработать вход. Если параметр LogonDomainName пуст, попытка входа не будет выполнена.

MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT
800
Разрешает клиентам удаленной загрузки входить в систему с помощью учетной записи компьютера.
MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED
4000
Разрешает пользователю использовать пароль в виде ясного текста.

Windows XP и Windows Server 2003: Не поддерживается.

MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY
8000
Разрешает использование домена только для маршрутизации.

Windows XP и Windows Server 2003: Не поддерживается.

MSV1_0_ALLOW_MSVCHAPV2
10000
Разрешает вход в subAuthentication.

Windows XP и Windows Server 2003: Не поддерживается.

MSV1_0_S4U2SELF
20 000
Разрешает клиентам S4U входить в систему без пароля.

Windows Vista, Windows Server 2003 с пакетом обновления 2 (SP2), Windows XP и Windows Server 2003: Не поддерживается.

MSV1_0_CHECK_LOGONHOURS_FOR_S4U
40 000
Проверьте часы входа в систему для клиента S4U.

Windows Vista, Windows Server 2003 с пакетом обновления 2 (SP2), Windows XP и Windows Server 2003: Не поддерживается.

MSV1_0_INTERNET_DOMAIN
80 000
Разрешает вход для пользователей Интернета. Этот флаг следует использовать при вызовах из пакетов проверки подлинности напрямую, а не из netlogon.

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP и Windows Server 2003: Не поддерживается.

Комментарии

Если элементы UserName, CaseSensitiveChallengeResponse и CaseInsensitiveChallengeResponse содержат строки нулевой длины, для входа будет создан анонимный маркер. Этот анонимный маркер не дает пользователю доступа к защищенным системным ресурсам, но разрешает доступ к незащищенным системным ресурсам. Сервер использует этот метод для поддержки сеанса NULL .

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть ntsecapi.h

См. также раздел

LsaCallAuthenticationPackage

LsaLogonUser

MSV1_0_LM20_LOGON_PROFILE

MSV1_0_LOGON_SUBMIT_TYPE

MSV1_0_PROTOCOL_MESSAGE_TYPE