Saltar para o conteúdo principal
Versão: 20 R7 BETA

Validate password

Validate password ( refUsuario ; senha {; digest} ) -> Resultado

ParâmetroTipoDescrição
refUsuarioInteger, TextID de usuário
senhaTextSenha não criptografada
digestBooleanSenha digest = True, Senha texto plano (por padrão) = False
ResultadoBooleanTRUE= senha válida; FALSE = senha inválida

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

Validate password retorna True se a cadeia passada em senha for a senha para a conta de usuário cujo número de referência é passado em refUsuario.

O parâmetro opcional digest indica se o parâmetro senha contém uma senha em texto plano ou na senha em forma hash (modo digest):

  • Se passar True, indica que o parâmetro senha contém uma senha em forma hash (modo digest),
  • Se passar False ou omite este parâmetro, indica que senha contém uma senha em texto plano.

Este parâmetro é particularmente útil quando se utilizam métodos base de autenticação, em particular o On 4D Mobile Authentication database method.

O comando é atrasado com o objetivo de evitar ataques de força bruta (flooding), em outras palavras, tentativas de múltiplas combinações de nomes de usuário/senha. Como resultado, depois da quarta chamada a este comando, não se executa por um período de 10 segundos. Este atraso é global a estação de trabalho.

Exemplo 1

O exemplo verifica se a senha do usuário “Hardy” for “Laurel”:

 GET USER LIST(atNomeUsuario;aRefUsuario)
 $vlElem:=Find in array(atNomeUsuario;"Hardy")
 If($vlElem>0)
    If(Validate password(aRefUsuario{$vlElem};"Laurel"))
       ALERT("Sim")
    Else
       ALERT("Erro")
    End if
 Else
    ALERT("Nome de usuário desconhecido")
 End if

Exemplo 2

No On 4D Mobile Authentication database method, você pode provar um pedido de conexão (utilizando os usuários 4D da base). Pode escrever:

 $0:=Validate password($1;$2;$3)

Ver também

GET USER PROPERTIES
Set user properties
WEB Validate digest