Re: How To Create a logon screen by using FORMS4.5

From: Greg Hoppan <alpha_at_mail.datanet.hu>
Date: 1997/11/29
Message-ID: <347FE9A3.7D35B259_at_mail.datanet.hu>#1/1


Peter Richardson wrote:

> The best way of doing it is writing a program in C (or whatever your
> fetish is) and interacting with the user table from there.
> That way you can connect to the database to read the user settings
> (but no more) then exit the program if logon fails. If it logon is
> successful then allow priviliges for all usual tables and start up
> your first form.

Why do you need a C code to do this?This can work with a native form solution.

  1. Create an ORACLE user: PROBE with a password PROBE.
  2. Create a logon form with username and password items, but use the ON-LOGON trigger to log into the database as PROBE/PROBE when the form starts.
  3. If the user enters the username and password items and presses your login, try to log into the database again, using the given values.
  4. After the successful login with user supplied values you can call your first form with CALL_FORM('FORM001').

Imagine an ON-LOGON trigger like this:

if :GLOBAL.PROBE_LOGON = 'TRUE' then

    logon('PROBE','PROBE_at_'||'DBPROD',FALSE); else

    logon(:CONTROL.NAME,:CONTROL.PASSW||'_at_'||'DBPROD',FALSE); end if;

> I won't go into details here, needless to say that this method is far
> more secure and allows other neat tricks too.

This solution provides the same security as yours. You and me are bothconnecting to the the database as PROBE. PROBE has only SELECT privilege to the USER_SEC table.

Hope it helps,

G


Hoppan Greg Gergely                  WWW  : http://w3.datanet.hu/~alpha/

Managing Director                    Mail : alpha_at_mail.datanet.hu
Alpha Consulting 1996 Limited        Phone: +36-1-351-9020
HUNGARY 1068 Budapest, Benczur u 14 Fax : +36-1-351-9020
Received on Sat Nov 29 1997 - 00:00:00 CET

Original text of this message