Creare un modulo per l'accesso personalizzato. Crea elementi di testo per nome utente e password ecc. e un pulsante di accesso. Quando l'utente fa clic su quel pulsante di accesso, chiama questa routine plsql.
dichiarare
vPassword fox_user.password%type; -- ottieni un tipo di campo password dalla tabella principale dell'utente
plid paramlist;
begin
-- controlla se il nome utente è null
se :appstart.usn è nullo allora
error_message('Deve essere inserito il nome utente.');
go_item('appstart.usn');
raise Form_Trigger_Failure;
end if;
-- controlla se la password è null
se :appstart.psw è null allora
error_message('La password deve essere inserita.');
go_item('appstart.psw');
raise Form_Trigger_Failure;
end if;
select password in vpassword
from fox_user
where rtrim(userid) =rtrim(:appstart.usn);
-- decrittografa la password usando la tua crittografia / decrypt.
-- di seguito decrypt è un'unità di programma che ho usato
if :appstart.psw !=decrypt(vpassword) then
error_message('Password non valida per l'utente. Accesso negato! ');
go_item('appstart.psw');
raise form_trigger_Failure;
end if;
-- se nome utente e password validi allora crea un elenco di parametri per passare il modulo chiamante
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);
eccezione
quando no_data_found quindi
error_message('ID utente non valido. Inserisci ID utente e password validi. Accesso negato!');
go_item('appstart.usn');
quando too_many_rows then
error_message('Internal error...');
quando altri then
null;
end;
-
Come posso aggiornare un campo del mio spinner con l'input dell'utente in EditText
-
Connessioni HAProxy vs Connessioni MySQL:cosa dovresti sapere
-
La sfida è iniziata! Chiamata comunitaria per la creazione del generatore di serie di numeri più veloce
-
Aumenta il gruppo di dischi VOTE in ASM per l'aggiornamento a GI 12.2