Authenticate User

From NSIS Wiki
Jump to navigationJump to search

((PageAuthor | HotButteredSoul))

forum NSIS [] http://forums.winamp.com/showthread.php?s=&threadid=265387 discussão

Descrição

Esta é uma função para validar um nome de usuário e senha do Windows.

Função == == Eu não escrevi uma macro para esta função. Uso === === Use o seguinte em Seu Código Instalador NSIS n Descobrir Domínio UM SE, nome de usuario, Senha e autenticação: highlight <highlight-nsis> Push a_username " Push ADOMAIN " Push a_password " Call MSWAuthenticate Pop $ 0; = Sucesso "nd sucessão, ou" Falha de logon: ... " em contrário. </> Destacar-INE

Código === === <highlight-nsis>

MSWAuthenticate.nsh # - por HotButteredSoul

  1. Função de verificação para ver se um Microsoft Windows Username / password
  2. Par autenticar.

! Ifndef _MSWAuthenticate_nsh ! Definir _MSWAuthenticate_nsh

  1. MSWAuthenticate - autentica par usuário / senha
  2. Exemplo:
  3. Push "bob.username"
  4. Push "ADOMAIN"
  5. Push "bobs.password"
  6. Call MSWAuthenticate

Pop # $ 0; = "sucesso" na sucessão, ou "Falha de logon: ..." em contrário.

Usa # LogonUserA advapi32.lib

Função MSWAuthenticate     Exch $ 0; senha (highlight)     Exch     Exch $ 1; Domain (IN) / "sucesso" (OUT)     Exch 2     Exch $ 2; Usuário (IN)     Push $ 3; código de retorno LogonUserA     Push $ 4; GetLastError (highlight) de código

    ; LOGON32_LOGON_NETWORK = 3     ; LOGON32_PROVIDER_DEFAULT = 0     Sistema: Call "advapi32: LogonUserA (r2 t, t r1, r0 t, i 3, i 0, i *) i. R3? E"     Pop quatro dólares, o? E bandeira de System:: Call empurra o resultado de GetLastError () para a pilha.     IntCmp 0 $ 3 rejeitar; valor de retorno de 0 é falha.     Strcpy um dólar "sucesso"     GoTo feito

    rejeitar:     IntCmp ERROR_LOGON_FAILURE $ 4 87     IntCmp ERROR_LOGON_FAILURE 1326 4 dólares     IntCmp ERROR_ACCOUNT_RESTRICTION 1.327 $ 4     IntCmp 1328 ERROR_INVALID_LOGON_HOURS $ 4     IntCmp ERROR_INVALID_WORKSTATION 1.329 $ 4     IntCmp 1.330 $ 4 ERROR_PASSWORD_EXPIRED     IntCmp 1.331 $ 4 ERROR_ACCOUNT_DISABLED     , Um erro de algum outro tipo         Strcpy $ 1 "Falha de logon: $ 4"         GoTo feito     ERROR_LOGON_FAILURE:         Strcpy $ 1 "Falha de logon: nome de usuário desconhecido ou senha incorreta."         GoTo feito     ERROR_ACCOUNT_RESTRICTION:         Strcpy $ 1 "Falha de logon: restrição na conta do usuário."         GoTo feito     ERROR_INVALID_LOGON_HOURS:         Strcpy $ 1 "Falha de logon: conta de logon violação de restrição de tempo."         GoTo feito     ERROR_INVALID_WORKSTATION:         Strcpy $ 1 "Falha de logon: usuário não tem permissão para fazer logon no computador."         GoTo feito     ERROR_PASSWORD_EXPIRED:         Strcpy $ 1 "Falha de logon: a senha da conta especificada expirou."         GoTo feito     ERROR_ACCOUNT_DISABLED:         Strcpy $ 1 "Falha de logon: conta atualmente desativada."         GoTo feito

    feito:     Pop quatro dólares     Pop três dólares     Pop $ 2     Pop $ 0     Exch um dólar FunctionEnd ! Endif; _MSWAuthenticate_nsh <highlight> Destacar-nsis


Recursos == e == Links

Funções API utilizados:



Categoria: Contas de Usuário Funções relacionadas