Erstellen Sie ein Formular für die benutzerdefinierte Anmeldung. Erstellen Sie Textelemente für Benutzername und Passwort usw. und einen Login-Button. Wenn der Benutzer auf diese Anmeldeschaltfläche klickt, rufen Sie diese plsql-Routine auf.
deklarieren
vPassword fox_user.password%type; -- Holen Sie sich einen Passwort-Feldtyp aus Ihrer Benutzerstammtabelle
plid paramlist;
begin
-- Prüfen Sie, ob der Benutzername null ist
wenn :appstart.usn null ist, dann
error_message('Benutzername muss eingegeben werden.');
go_item('appstart.usn');
raise Form_Trigger_Failure;
end if;
-- prüfen, ob Passwort vorhanden ist null
wenn :appstart.psw null ist, dann
error_message('Passwort muss eingegeben werden.');
go_item('appstart.psw');
raise Form_Trigger_Failure;
end if;
wähle das Passwort in vpassword
von fox_user
where rtrim(userid) =rtrim(:appstart.usn);
-- entschlüssele das Passwort mit deiner eigenen Verschlüsselung / decrypt-Methode.
-- unten erwähntes decrypt ist eine Programmeinheit, die ich verwendet habe
if :appstart.psw !=decrypt(vpassword) then
error_message('Ungültiges Passwort für den Benutzer. Anmeldung verweigert! ');
go_item('appstart.psw');
raise form_trigger_Failure;
end if;
-- wenn gültiger Benutzername und Passwort dann Parameterliste erstellen, um das aufrufende Formular zu übergeben
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);
Ausnahme
when no_data_found then
error_message('Ungültige Benutzer-ID. Bitte geben Sie eine gültige Benutzer-ID und ein gültiges Passwort ein. Anmeldung verweigert!');
go_item('appstart.usn');
when too_many_rows then
error_message('Interner Fehler...');
when other then
null;
end;