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