That's a great idea--many thanks.  I bet I could put up a table of permitted
username/client program combinations & just do a SELECT from it & translate
the no_data_found exception into a 'connect via <<your program>> verboten!'
message...

Thanks again,

-Roy

Roy Pardee
Programmer/Analyst
SWFPAC Lockheed Martin IT
Extension 8487

-----Original Message-----
Sent: Wednesday, January 29, 2003 6:04 AM
To: Multiple recipients of list ORACLE-L


Hi Roy,

I don't know if you solved your problem yet but I have a similar situation 
here.  I have an Oracle account used by PHP programs (third party programs) 
to access some tables.  I don't want anyone to log in to the database with 
this account unless the connection comes from apache and from our web 
server machine.  So what I did is that I created a logon trigger on that 
schema and if the conditions are not met, then I raise an application error 
and the connection dies.

As you know, these informations (program, machine, etc...) can be found in 
v$session and the SID of the current session can be found with "select sid 
from v$mystat where rownum = 1".

HTH.

Louis

At 15:13 2003-01-27 -0800, you wrote:
>In case anyone cares--it looks like it is *not* possible to set a role in
an
>after logon trigger.  Had I only looked at metalink:
>
>AFTER LOGON Triggers Don't Allow DBMS_SESSION.SET_ROLE to Keep Roles
Enabled
>http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_data
b
>ase_id=NOT&p_id=106140.1
>
>Bummer, that.
>
>Thanks again to all who responded.
>
>Cheers,
>
>-Roy
>
>Roy Pardee
>Programmer/Analyst
>SWFPAC Lockheed Martin IT
>Extension 8487
>
>-----Original Message-----
>Sent: Monday, January 13, 2003 7:42 AM
>To: 'ORACLE-L'
>
>
>Greetings all,
>
>I'm trying to support a COTS application that is back-end agnostic & makes
>only minimal use of security on the db.  In particular, it requires that
>users be granted a default role that has *very* heavy permissions--enough
to
>do some major mischief should they ever figure out how to use odbc or
>sql*plus.
>
>My collegues & I have devised a kludgy method for getting around this
>problem, involving a shill startup program that turns the default-ness of
>the role on & off in conjunction with users opening & closing the client
>program.  This works, but is a pain to maintain.
>
>I've recently discovered the v$session.program field & am now wondering
>whether it would be possible to use the new-fangled logon system trigger to
>set the role only for cases where v$session.program = the COTS client.
>
>Can anybody comment as to whether this is a viable approach on an 8.1.6
>database & if not, on a 9i db?
>
>In particular, there are two things I don't know--first, how to select just
>the one row in v$session that corresponds to the current connection.  If a
>user was to start up the COTS client & then connect to the same db via
>sql*plus, I would want the role set *only* for the COTS client session.  My
>best thought so far here is to use the most recently started connection
>based on v$session.logon_time.
>
>Second, whether the SET ROLE statement is legal in a logon trigger.
>
>All help will be most welcome.
>
>Thanks!
>
>-Roy
>
>Roy Pardee
>Programmer/Analyst
>SWFPAC Lockheed Martin IT
>Extension 8487
>--
>Please see the official ORACLE-L FAQ: http://www.orafaq.net
>--
>Author: Pardee, Roy E
>   INET: [EMAIL PROTECTED]
>
>Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
>San Diego, California        -- Mailing list and web hosting services
>---------------------------------------------------------------------
>To REMOVE yourself from this mailing list, send an E-Mail message
>to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
>the message BODY, include a line containing: UNSUB ORACLE-L
>(or the name of mailing list you want to be removed from).  You may
>also send the HELP command for other information (like subscribing).

Louis Brouillette
Analyste en informatique (DBA)
Universite du Quebec a Trois-Rivieres
Tel: (819) 376-5011 ext. 2435
Email: [EMAIL PROTECTED]

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Louis BROUILLETTE
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Pardee, Roy E
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to