共用方式為


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_0Lm20LogonMsV1_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_0_PROTOCOL_MESSAGE_TYPE 中的 MsV1_0Lm20ChallengeRequest描述。 這可讓 驗證套件 判斷挑戰回應是否正確。

CaseSensitiveChallengeResponse

包含用戶端區分大小寫 Unicode 密碼的一些函式。 一般而言,它會是以區分大小寫的密碼版本加密 的 ChallengeToClient 成員。

有些用戶端只會提供 純文本 區分大小寫 的 Unicode 密碼。 在此情況下,此成員會指向該 純文本 密碼。 根據組態選項, MSV1_0驗證套件 可以接受這個無類型表單。

某些客戶端不支援區分大小寫 的 Unicode 密碼。 在此情況下,此成員應該包含長度為零的字串。

CaseInsensitiveChallengeResponse

包含用戶端 (MBCS) 密碼不區分大小寫的多位元組字元集的一些函式。 一般而言,它會是以不區分大小寫的密碼版本加密的 ChallengeToClient 成員。

僅支援 MBCS 而非 Unicode 的用戶端會提供不區分大小寫的 純文字 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
如果指定這個旗標,MSV1_0_LM20_LOGON_PROFILE傳回緩衝區的UserParameters成員是有效的。
MSV1_0_DONT_TRY_GUEST_ACCOUNT
10
防止使用者使用來賓帳戶登入。
MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT
20
如果已設定此旗標,則可以使用域控制器帳戶進行驗證;否則,只能使用用戶帳戶。
MSV1_0_RETURN_PASSWORD_EXPIRY
40
導致在輸出緩衝區中傳回之 MSV1_0_LM20_LOGON_PROFILE 結構之LogoffTime成員中傳回密碼到期時間。
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
20000
允許 S4U 用戶端在沒有密碼的情況下登入。

Windows Vista、Windows Server 2003 SP2、Windows XP 和 Windows Server 2003: 不支援。

MSV1_0_CHECK_LOGONHOURS_FOR_S4U
40000
檢查 S4U 登入用戶端的登入時數。

Windows Vista、Windows Server 2003 SP2、Windows XP 和 Windows Server 2003: 不支援。

MSV1_0_INTERNET_DOMAIN
80000
允許登入因特網使用者。 此旗標應該由來自驗證套件的呼叫直接使用,而不是來自 netlogon 的呼叫。

Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 不支援。

備註

如果 UserNameCaseSensitiveChallengeResponseCaseInsensitiveChallengeResponse 成員全都包含零長度字元串,則會為登入產生匿名令牌。 此匿名令牌可讓用戶無法存取受保護的系統資源,但允許存取未受保護的系統資源。 伺服器會使用這個方法來支援 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