| 4D v13.4CHANGE CURRENT USER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 CHANGE CURRENT USER 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CHANGE CURRENT USER {( usuario ; senha )} | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| usuario | cadeia, Inteiro longo |   | Nome do usuário ou ID única | |||||
| senha | cadeia |   | Senha (não criptografada) | |||||
CHANGE CURRENT USER permite mudar a identidade do usuário atual no banco, sem ter que sair. O usuário pode mudar sua identidade utilizando a caixa de diálogo de identificação do usuário do banco (quando o comando é chamado sem parâmetros) ou diretamente através deste comando. Quando um usuário muda sua identidade, o usuário abandona seus privilégios de acesso anteriores para os direitos do usuário escolhido.
Se o comando CHANGE CURRENT USER for executado sem parâmetros, a caixa de diálogo de identificação do usuário da banco é mostrada. O usuário deve então introduzir ou selecionar um nome e senha válidos para entrar ao banco. O conteúdo da caixa de diálogo de conexão depende das opções definidas na página Aplicação/Acesso das Preferências do banco.
Do mesmo jeito, pode passar os parâmetros opcionais usuario e senha para especificar por programação a nova conta a utilizar. Passe no parâmetro usuário o nome ou o número de referência única (refUsuário) da conta a utilizar. Os nomes e os números de usuário podem ser obtidos utilizando o comando GET USER LIST.
| Número de referência do usuário | Descrição do usuário | 
| 1 | Designer | 
| 2 | Administrador | 
| 3 a 15000 | Usuário criado pelo Desenhador | 
| (o usuário No. 3 é o primeiro usuário criado pelo Desenhador, usuário No. 4 é o segundo, etc.). | |
| -11 to -15010 | Usuário criado pelo Administrador | 
| (usuário No. -11 é o primeiro usuário criado pelo Administrador, | |
| usuário No. -12 é o segundo, etc.). | 
Se a conta de usuário designada não existir ou tiver sido apagada, o erro -9979 é gerado. Pode interceptar este erro com o método de gestão de erros instalado pelo comando ON ERR CALL . Do contrário, pode chamar a função Is user deleted para testar a conta de usuário antes de chamar este comando.
Passe no parâmetro senha a senha não criptografada da conta de usuário. Se a senha não corresponder ao usuário, o comando devolverá a mensagem de erro -9978 e não fará nada.
O comando é atrasado para evitar flooding (ataques de força bruta), 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 é executada por um período de 10 segundos. Esta temporização é global à estação de trabalho.
O comando CHANGE CURRENT USER permite estabelecer caixas de diálogo personalizadas para introduzir o nome e senha (com regras de entrada e de vencimento) que tenham as mesmas vantagens do sistema de controle de acessos de 4D.
O principio é o seguinte:
1. A entrada no banco se realiza diretamente em modo “Usuário por padrão”, sem caixa de diálogo.
2. No Método banco de dados On Startup, o desenvolvedor provoca a visualização de uma caixa de diálogo personalizada de entrada do nome de usuário e senha. Todos os tipos de processos podem ser vistos na caixa de diálogo:
- É possível mostrar a lista de usuários da banco, como na caixa de diálogo de acesso padrão de 4D, utilizando o comando GET USER LIST
- O campo de entrada da senha pode conter vários controles com o fim de verificar a validez dos caracteres introduzidos (mínimo número de caracteres, unicidade, etc.).
- Para que os caracteres de senhas sejam introduzidos de maneira que estejam mascarados em tela, pode utilizar o comando FILTER KEYSTROKE com a fonte especial %password.
- As regras de vencimento podem ser aplicadas no momento em que a caixa de diálogo é confirmada: data de vencimento, mudança forçada à conexão inicial, bloqueio de conta depois de várias entradas incorretas, memorização de senhas já utilizadas, etc.
 
3. Quando se confirma a entrada, a informação requerida (nome de usuário e senha) são passadas ao comando CHANGE CURRENT USER para abrir o banco com os privilégios da conta do usuário.
O exemplo abaixo exibe a caixa de diálogo de conexão:
 CHANGE CURRENT USER
	Produto: 4D
	Tema: Usuário e Grupos
	Número 
        289
        
        
        
	
	Modificado: 4D 2004