estrutura MSV1_0_LM20_LOGON (ntsecapi.h)

A estrutura MSV1_0_LM20_LOGON contém informações de logon usadas em logons de rede.

Ele é usado por LsaLogonUser.

Sintaxe

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;

Membros

MessageType

Um valor MSV1_0_LOGON_SUBMIT_TYPE que especifica o tipo de logon que está sendo solicitado. Esse membro deve ser definido como MsV1_0Lm20Logon ou MsV1_0NetworkLogon.

Se esse membro estiver definido como MsV1_0Lm20Logon, o pacote MSV1_0 ignorará o membro ParameterControl .

LogonDomainName

Um UNICODE_STRING que contém o nome do domínio de logon. O nome de domínio especificado deve ser um domínio do Windows (ou domínio misto) que esteja na lista de domínio confiável deste computador. Se o nome de domínio de logon não for conhecido (por exemplo, para clientes que não fornecem essas informações), esse membro deverá ser passado como uma cadeia de caracteres de comprimento zero. Esse domínio é a autoridade de autenticação.

UserName

Um UNICODE_STRING que representa o nome da conta do usuário. O nome pode ter até 255 bytes de comprimento. O nome é tratado como não diferencia maiúsculas de minúsculas.

Workstation

Um UNICODE_STRING que contém o nome do computador da estação de trabalho do cliente da qual a solicitação de logon do usuário foi iniciada.

ChallengeToClient[MSV1_0_CHALLENGE_LENGTH]

Contém o desafio retornado de uma chamada anterior para LsaCallAuthenticationPackage, quando MsV1_0Lm20ChallengeRequest foi especificado como o tipo de mensagem. Para obter mais informações, consulte a descrição de MsV1_0Lm20ChallengeRequest em MSV1_0_PROTOCOL_MESSAGE_TYPE. Isso permite que o pacote de autenticação determine se a resposta do desafio está correta.

CaseSensitiveChallengeResponse

Contém alguma função da senha Unicode que diferencia maiúsculas de minúsculas do cliente. Normalmente, ele será o membro ChallengeToClient criptografado por uma versão que diferencia maiúsculas de minúsculas da senha.

Alguns clientes simplesmente fornecerão a senhaUnicode que diferencia maiúsculas de minúsculas. Nesse caso, esse membro aponta para essa senha de texto não criptografado . O pacote de autenticação MSV1_0 pode aceitar esse formulário não criptografado, dependendo de uma opção de configuração.

Alguns clientes não dão suporte a senhas Unicode que diferenciam maiúsculas de minúsculas. Nesse caso, esse membro deve conter uma cadeia de caracteres de comprimento zero.

CaseInsensitiveChallengeResponse

Contém alguma função da senha do MBCS (conjunto de caracteres de vários bytes) que não diferencia maiúsculas de minúsculas do cliente. Normalmente, ele será o membro ChallengeToClient criptografado por uma versão que não diferencia maiúsculas de minúsculas da senha.

Os clientes que dão suporte apenas ao MBCS e não ao Unicodefornecem uma senha MBCS que não diferencia maiúsculas de minúsculas. Nesse caso, esse membro aponta para essa senha de texto não criptografado . O pacote de autenticação MSV1_0 aceitará esse formulário não criptografado dependendo de uma opção de configuração.

ParameterControl

Especifica atributos dos outros parâmetros. Pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
MSV1_0_CLEARTEXT_PASSWORD_ALLOWED
02
LanMan2.0 ou LanMan1.0 enviam uma senha de texto não criptografado em vez de uma resposta de desafio. Para permitir que senhas de texto não criptografado sejam usadas na mensagem NetworkLogon, um aplicativo deve fornecer esse sinalizador.
MSV1_0_UPDATE_LOGON_STATISTICS
04
Atualize as estatísticas de logon da conta. Se esse sinalizador não estiver definido, a contagem de senhas incorretas será definida como zero após o logon bem-sucedido.
MSV1_0_RETURN_USER_PARAMETERS
08
Se esse sinalizador for especificado, o membro UserParameters do buffer de retorno MSV1_0_LM20_LOGON_PROFILE será válido.
MSV1_0_DONT_TRY_GUEST_ACCOUNT
10
Impede que o usuário efetue logon com uma conta de convidado.
MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT
20
Se esse sinalizador estiver definido, as contas do controlador de domínio poderão ser usadas para autenticação; caso contrário, somente contas de usuário podem ser usadas.
MSV1_0_RETURN_PASSWORD_EXPIRY
40
Faz com que o tempo de expiração da senha seja retornado no membro LogoffTime da estrutura MSV1_0_LM20_LOGON_PROFILE retornada no buffer de saída.
MSV1_0_USE_CLIENT_CHALLENGE
80
Indica que o CaseInsensitiveChallengeResponse contém um desafio de cliente nos primeiros 8 bytes.
MSV1_0_TRY_GUEST_ACCOUNT_ONLY
100
Faz com que o usuário faça logon usando a conta de convidado.
MSV1_0_RETURN_PROFILE_PATH
200
Retorna o caminho do perfil para o EFS ( Sistema de Arquivos de Criptografia ). O caminho do perfil é usado pelo EFS para localizar o perfil do usuário e localizar as chaves do usuário para criptografar e descriptografar arquivos. Essas informações não são retornadas ao chamador; ele é armazenado dentro da LSA e usado por processos internos.
MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY
400
Na operação normal, o membro LogonDomainName é usado como uma sugestão. O pacote (usando o serviço NetLogon) continuará passando a solicitação de logon para controladores de domínio mais altos no caminho de domínio confiável até que um rejeite autoritativamente o logon.

Esse sinalizador substitui esse comportamento para que apenas o controlador de domínio especificado tente processar o logon. Se LogonDomainName estiver em branco, o logon não será tentado.

MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT
800
Permite que clientes de inicialização remota façam logon usando uma conta de computador.
MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED
4000
Permite que o usuário de uma senha de texto não criptografado.

Windows XP e Windows Server 2003: Sem suporte.

MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY
8000
Permite que o domínio seja usado somente para roteamento.

Windows XP e Windows Server 2003: Sem suporte.

MSV1_0_ALLOW_MSVCHAPV2
10000
Permite o logon do SubAuthentication.

Windows XP e Windows Server 2003: Sem suporte.

MSV1_0_S4U2SELF
20000
Permite que os clientes S4U façam logon sem uma senha.

Windows Vista, Windows Server 2003 com SP2, Windows XP e Windows Server 2003: Sem suporte.

MSV1_0_CHECK_LOGONHOURS_FOR_S4U
40000
Verifique as horas de logon de um cliente de logon S4U.

Windows Vista, Windows Server 2003 com SP2, Windows XP e Windows Server 2003: Sem suporte.

MSV1_0_INTERNET_DOMAIN
80000
Permite o logon para usuários da Internet. Esse sinalizador deve ser usado por chamadas de pacotes de autenticação diretamente e não do netlogon.

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP e Windows Server 2003: Sem suporte.

Comentários

Se os membros UserName, CaseSensitiveChallengeResponse e CaseInsensitiveChallengeResponse contiverem cadeias de caracteres de comprimento zero, um token anônimo será gerado para o logon. Esse token anônimo não dá ao usuário a capacidade de acessar recursos do sistema protegido, mas permite o acesso a recursos do sistema não protegidos. O servidor usa esse método para dar suporte a uma sessão NULL .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho ntsecapi.h

Confira também

LsaCallAuthenticationPackage

Lsalogonuser

MSV1_0_LM20_LOGON_PROFILE

MSV1_0_LOGON_SUBMIT_TYPE

MSV1_0_PROTOCOL_MESSAGE_TYPE