Voltar à lista
Windows Win32Segurança & tokensadvapi32.dll

LogonUserW

Autentica um usuário com nome/senha (ou outras credenciais) e retorna um token de acesso para ele.

Descrição

Base para implementar autenticação customizada (ex.: um servidor que precisa validar credenciais de domínio) fora do fluxo padrão de login interativo do Windows.

Header: winbase.hDLL: advapi32.dll

Atenção

Exige o privilégio SeTcbPrivilege (ou execução como serviço com as permissões adequadas) para a maioria dos tipos de logon — não é uma API livremente utilizável por qualquer processo.

Assinatura

BOOL LogonUserW(
    LPCWSTR lpszUsername,
    LPCWSTR lpszDomain,
    LPCWSTR lpszPassword,
    DWORD dwLogonType,
    DWORD dwLogonProvider,
    PHANDLE phToken
);

Parâmetros

ParâmetroTipoDescrição
lpszUsernameLPCWSTRNome de usuário.
lpszDomainLPCWSTRDomínio, ou NULL/"." para a máquina local.
lpszPasswordLPCWSTRSenha em texto plano.
dwLogonTypeDWORDLOGON32_LOGON_INTERACTIVE, LOGON32_LOGON_NETWORK, LOGON32_LOGON_SERVICE, etc.
dwLogonProviderDWORDLOGON32_PROVIDER_DEFAULT ou um provedor específico.
phTokenPHANDLERecebe o token de acesso do usuário autenticado.

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_LOGON_FAILURE(1326)
Nome de usuário ou senha incorretos.
ERROR_ACCOUNT_RESTRICTION(1327)
Restrição de conta impede o logon (ex.: conta desabilitada ou fora do horário permitido).

Relacionadas