| 4D v15.4On Web Authentication Database Method | ||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15.4
 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étodoNota: 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 MethodExportar dados a arquivos 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 ifEjemplo 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:
									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
									
	Produto: 4D
	Tema: Web Server
	
        
        
	
	
	
	Manual de linguagem 4D ( 4D v15.4)
	
	
	
	Manual de linguagem 4D ( 4D v15)
	
	
	
	
	
	
	Manual de linguagem 4D ( 4D v15.3)
	
	
 Adicionar um comentário
Adicionar um comentário