4D v14.3On Web Authentication Database Method |
||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
On Web Authentication Database Method
|
Parâmetros | Tipo | Descrição |
$1 | Texto | URL |
$2 | Texto | HTTP cabeçalho + corpo HTTP (32 KB máximo) |
$3 | Texto | endereço IP do Web client (navegador) |
$4 | Texto | endereço IP do servidor |
$5 | Texto | nome de usuário |
$6 | Texto | Senha |
$0 | Booleano | True = petição aceita, False = petição recusada |
Deve declarar esses parâmetros desta forma:
` On Web Authentication Database Method
C_TEXT($1;$2;$3;$4;$5;$6)
C_BOOLEAN($0)
` Código para o método
Nota: todos os parâmetros do Método de banco On Web Authentication não seriam preenchidos. A informação recebida pelo método de banco depende das opções que tiver selecionado previamente na caixa de diálogo de Propriedades do banco. Consulte a seção Conexões de Segurança.).
O primeiro parâmetro ($1) é a URL introduzida pelo usuário na área localização de seu navegador web, do qual o endereço local foi removido.Tomemos o exemplo de uma conexão de Intranet. Suponhamos que o endereço IP de sua máquina servidor web 4D é 123.4.567.89. A seguinte tabela mostra os valores de ($1) dependendo da URL introduzida no navegador web:
URL inserida na área de localização do navegador Valor do parâmetro $1 123.4.567.89
/ http://123.4.567.89 / 123.4.567.89/Clientes /Clientes http://123.4.567.89/Clientes /Customers http://123.4.567.89/Clientes/Adicionar /Clientes/Adicionar 123.4.567.89/Fazer_Isso/Se_OK/Fazer_Isso /Fazer_Isso/Se_OK/Fazer_Aquilo
Notas:
O terceiro parâmetro $3 recebe a direção IP do máquina navegador. Esta informação permite distinguir entre as conexões de Intranet e Internet.
O quarto parâmetro $4 recebe o endereço IP utilizado para chamar ao servidor Web. 4D a partir da versão 6.5 autoriza o multi-homing, permitindo explorar máquinas com mais de um endereço IP. Para maior informação, consulte a seção QR DELETE COLUMN.
Note: se o nome de usuário enviado pelo navegador existir em 4D, o parâmetro $6 (a senha do usuário) não é retornada por razões de segurança.
O Método de banco On Web Connection database method só é executado se a conexão tiver sido aceita por On Web Authentication.
AVISO: se não for passado nenhum valor em $0 ou se $0 não se define no On Web Authentication Database Method , a conexão se considerará como aceita e se executa o On Web Connection database method.O On Web Authentication Database Method é chamada automaticamente, sem importar o modo, quando uma petição ou processo requisitar a execução de um método 4D. Também se chama quando o servidor web recebe uma URL estática inválida (por exemplo, se a página estática solicitada não existir).
Portanto o On Web Authentication Database Method se chama nos seguintes casos:
Note que o On Web Authentication Database Method NÃO se chama quando o servidor recebe uma URL solicitando uma página estática válida.
Exemplo do On Web Authentication Database MethodTexto multi estilo em modo BASIC:
`Método de banco On Web Authentication
C_TEXT($5;$6;$3;$4)
C_TEXT($usuário;$senha;$IPNavegador;$IPServidor)
C_BOOLEAN($4Dusuário)
ARRAY TEXT($usuários;0)
ARRAY LONGINT($nums;0)
C_LONGINT($upos)
C_BOOLEAN($0)
$0:=False
$usuário:=$5
$senha:=$6
$IPNavegador:=$3
$IPServidor:=$4
`Por razões de segurança, recusar nomes que contenham @
If(WithWildcard($usuario)|WithWildcard($senha))
$0:=False
`O método WithWildcard é descrito abaixo
Else
`Verificar para ver se é um usuário 4D
GET USER LIST($usuários;$nums)
$upos:=Find in array($usuários;$usuário)
If($upos >0)
$usuario4D:=Not(Is user deleted($nums{$upos}))
Else
$usuario4D:=False
End if
If(Not($usuario4D))
`Não é um usuário definido em 4D, procurar na tabela de usuários Web
QUERY([UsuariosWeb];[UsuariosWeb]usuario=$usuario;*)
QUERY([UsuariosWeb]; & [UsuariosWeb]senha=$senha)
$0:=(Records in selection([UsuariosWeb])=1)
Else
$0:=True
End if
End if
`Esta é uma conexão de intranet?
If(Substring($IPNavegador;1;7)#"192.100.")
$0:=False
End if
Ejemplo do On Web Authentication Database Method em modo DIGEST:
`Método de banco On Web Authentication
C_TEXT($1;$2;$5;$6;$3;$4)
C_TEXT($usuario)
C_BOOLEAN($0)
$0:=False
$usuario:=$5
`Por razões de segurança, recusar os nomes que contenham @
If(WithWildcard($usuario))
$0:=False
`O método WithWildcard é descrito a seguir
Else
QUERY([UsuariosWeb];[UsuariosWeb]usuario=$usuario)
If(OK=1)
$0:=Validate Digest Web Password($usuario;[UsuariosWeb]senha)
Else
$0:=False `Usuário inexistente
End if
End if
O método de projeto WithWildcard é o seguinte:
Produto: 4D
Tema: Web Server
Ações URL e Formulário
Conexões de Segurança
Método de banco de dados On Web Connection
Métodos de banco de dados
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)
Inherited from : Método de banco On Web Aunthentication ( 4D v12.4)