Crie um formulário para login customizado. Crie itens de texto para nome de usuário e senha etc. e um botão de login. Quando o usuário clicar nesse botão de login, chame esta rotina plsql.
declare
vPassword fox_user.password%type; -- obtém um tipo de campo de senha da sua tabela mestra de usuário
plid paramlist;
begin
-- verifica se o nome de usuário é nulo
se :appstart.usn é nulo, então
error_message('Nome de usuário deve ser digitado.');
go_item('appstart.usn');
raise Form_Trigger_Failure;
end if;
-- verifique se a senha é null
se :appstart.psw for null then
error_message('Senha deve ser digitada.');
go_item('appstart.psw');
raise Form_Trigger_Failure;
end if;
selecione a senha em vpassword
de fox_user
onde rtrim(userid) =rtrim(:appstart.usn);
-- descriptografe a senha usando seu próprio encrypt / decrypt.
-- abaixo mencionado decrypt é uma unidade de programa que usei
if :appstart.psw !=decrypt(vpassword) then
error_message('Senha inválida para o usuário. Logon negado! ');
go_item('appstart.psw');
raise form_trigger_Failure;
end if;
-- se usuário e senha válidos então crie uma lista de parâmetros para passar o formulário de chamada
plid :=get_parameter_list('formdata');
if Not id_null(plid) then
Destroy_parameter_list(plid);
end if;
plid :=Create_Parameter_list('formdata');
Add_parameter(plid, 'userid', text_parameter, :appstart.usn);
new_form('main', full_rollback, no_query_only, plid);
exceção
quando no_data_found then
error_message('ID de usuário inválido. Por favor, digite um ID de usuário e senha válidos. Logon negado!');
go_item('appstart.usn');
quando too_many_rows então
error_message('Erro interno...');
quando outros então
null;
end;
-
Configurando uma rede dedicada para comunicação do grupo de disponibilidade
-
Possíveis maneiras de corrigir o problema de corrupção de metadados do SQL Server
-
Ir para o início do desenvolvimento de banco de dados orientado a testes (TDDD)
-
Como executar uma operação de failback para a configuração de replicação do MySQL