External (OS) authentication Oracle 10

Hi everyone.
I have an application which needs to authenticate with Oracle 10g using the operating system user and password. I started using ojdbc, but I kept getting an error because (I found out later) the thin client does not support null user or password.
Then I switched to OCI (classes12.zip), but now I get invalid user/password.
If I do it with sqlplus, it works fine:
$ sqlplus /
SQL*Plus: Release 10.1.0.3.0 - Production on Tue Jul 31 16:41:19 2007
Copyright (c) 1982, 2004, Oracle.  All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>This is my code:
import java.sql.*;
import java.io.PrintWriter;
public class OSTest{
        public static void main (String args []) throws SQLException{
                try {
                        Class.forName("oracle.jdbc.driver.OracleDriver");
                } catch (ClassNotFoundException e) {
                        System.err.println("Driver not found " +e.getMessage());
                        e.printStackTrace();
                String str = "jdbc:oracle:oci:@my_orcl";
                System.out.println("Connecting using " + str);
                DriverManager.setLogWriter(new PrintWriter(System.out));
                Connection conn = DriverManager.getConnection (str, "", "");
}Somewhere I read that it was an Oracle 10 bug, but I did not find much information about it. Has anybody faced this problem before?
Hope you can help me figure it out.
Thank you very much.
Laura.

Thanks, jschell.
If there is no solution via JDBC driver, do you know
any other way I could achieve it?
I believe, as I already suggested, that there is some way in the database itself to promote OS users into the database permissions model.
Certainly if nothing else one could script that.
For example (please don't judge me too hard for my
proposal), I was thinking about retrieving the OS
user and password via Java and then opening a
connection to Oracle using that user and password,
but I have two problems:
* Using System class, I can get the user, but not the
password. Is there any possible way to do it with
Java?I doubt there is any way to do that using any API using any modern OS.
System user passwords are hashed. The original password does not exist anywhere.
And if that is a requirement of your system that it should be retrieving the password then it would suggest strongly to me that people responsible for the requirements do not understand security (even minimally) to be dictating how security should work.
* Even if I give the user and password to the oracle
connection, it tells me that there has been an
authentication error. I guess it happens because I am
not authenticating via OS, but only using the user
name and password that I know belong to the user.
Huh?
Oracle authenticates the user that you pass. If it knows that user then it works. If it doesn't, then it fails.
Or do you know about any other driver I can use?
Which wouldn't change how the database authenticates.
If I could, I would not use OS authentication, but it
is a requirement that I must fulfill. If I understood
your comment, jschell, you suggest not to use that
kind of authentication, but I did not understand why.
Could you please clarify it?Again because the permission model in Oracle is much more feature rich than that of the OS.
You can restrict access to just stored procs or even to a single stored proc for example. And there is no way you can do that via administering OS users.

Similar Messages

  • External Table Authentication - Not Able to Login to Presentation services

    Hi ,
    I am trying to setup External table Authentication and in Rpd file I have setup session Variable as described in the OBIEE Server Admin Guide (http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf -- Page 326 ) ..
    But when I try to logon to Presentation services Iget the following error.
    State: 08004. Code: 10018. [NQODBC] [SQL_STATE: 08004] [nQSError: 10018] Access for the requested connection is refused. [nQSError: 13024] Successful completion of init block 'TableLDAP' is required. (08004)
    what am I doing wrong ? Please adivce.
    Thanks
    SS

    Hello,
    I Have setup system session User and group variables in a Initialazation block. No LDAP is tied. I have just created a table and added bunch of users and their passwords and their groups they belongs to.When I test my initialization block in rpd by suppling Uid/Pwd I see correct group they belongs to.
    But When I try in Presentation layer it doesn't work and throwing same error I mentioned.I tried various things but no luck .Not sure why intialization block is not firing off.
    Thanks
    SS

  • Issue in External Table Authentication and Authorization in OBIEE11G

    Hello Gurus,
    Can anyone help me how to configure External Table Authentication and Authorization in OBIEE11g through weblogic server not like in 10g style(Through INIT Blocks).
    I've followed the (Doc ID 1338007.1) document. But when i'm restart the Managed servers and Admin servers after configuring the SQLAuthenticator all my services are showing down.
    I already raised the SR (SR 3-6286054151) on this issue. But still i didn't get any reply from them.
    Can anyone help me out on this issue or can anyone me send the document for "how to configure External Table Authentication and Authorization in OBIEE11g" . It's really appreciate for your quick response.
    my mail ID [email protected]
    Thanks,
    Syam.
    Edited by: 942658 on Oct 13, 2012 10:55 AM

    Hi John,
    Thanks for your quick response.
    We configured "ReadOnlySQL Provider" by following the Oracle's white paper(Doc ID 1338007.1) Please find the below steps what we configured in weblogic console.
    1. Created the Data Source
    2. In the data source specified the Database driver--> *Oracle's Driver Thin for service connections: Versions:9.0.1 and later.
    3. Defined the connection Properties .
    4. Selected targets as Admin server and bi_server.
    Then Activate changes
    5. Created new provider by using ReadOnlySQL Authenticator
    6. In the provider specific tab we given the SQL statements and saved it.
    7. Restarted the Admin and Managed servers.
    After restarted the services when we open the Enterprise Manager page all the services are showed as Undefined - means red.
    Apart from that we followed your suggested link http://askjohnobiee.blogspot.com/2012/09/how-to-oid-authentication-with-groups.html
    For External table authentication do we need to configure BISQLAuthenticator or ReadOnlySQLAuthenticator ?
    If we configure BISQLAuthenticator we just import Groups from database to Console application. Then how can it Authenticated to the User ?
    Please let me know your ideas on this.
    Thanks,
    Syam

  • Need help with external user authentication

    Hello,
    I need some help to set up an external user authentication in Oracle DB 10g. Using the documentation at
    http://www.oracle-base.com/articles/misc/OsAuthentication.php
    I added the user alex to my linux system and checked the parameter os_authent_prefix:
    SQL> show parameter os_authent_prefix
    NAME TYPE VALUE
    os_authent_prefix string ops$
    SQL>
    I created the oracle user alex using
    CREATE USER alex IDENTIFIED EXTERNALLY;
    as well as
    CREATE USER ops$alex IDENTIFIED EXTERNALLY;
    The parameters in the sqlnet.ora are set to
    NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME, EZCONNECT)
    SQLNET.AUTHENTICATION_SERVICES = (ALL)
    Being the local user alex on the linux server I can login:
    $ sqlplus /
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 30 08:56:26 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Release 10.2.0.1.0 - 64bit Production
    SQL>
    Now using a Windows Client:
    C:\>sqlplus alex@<netservicename>
    SQL*Plus: Release 10.2.0.1.0 - Production on Di Aug 30 10:31:37 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Kennwort eingeben:
    ERROR:
    ORA-01017: invalid username/password; logon denied
    - So, what's wrong?
    - Do I always have to create oracle users with the prefix "ops$" to the local username? How do these users login - with or without the prefix 'ops$'?
    - I read that kerberos authentication is only available through oracle advanced security addon. What about authentication through ldap?

    Obviously it doesn't work from any remote system.
    For this to happen the parameter remote_os_authent would have been set to true.
    Warning: this poses a security risk.
    As far as I know you should have been logged in as alex on the client, and using sqlplus /
    However, from 10g onwards Oracle comes with Oracle Wallet, which stores the password encrypted outside the database in a file, called wallet, and which is accessible from anywhere.
    You would better use that.
    Sybrand Bakker
    Senior Oracle DBA

  • Query related to external table authentication

    Hi Gurus,
    I am new to OBIEE. When we login to the Oracle Business intelligence, we used to give user as Administrator and password as Administrator.
    At this point, can we authentication the userid and password which is stored in external table in a users schema?
    ~ John

    "Administrator" will always be a user which is registered in the repository. All other users can be authenticated by external table authentication.
    You can create an init block which sets the USER system variable by
    SELECT user FROM users WHERE user = ':USER' and password = ':PASSWORD'

  • Operating System authenticated Oracle account

    Hi all,
    Can i use the oracle built-in account "APPS" as the Operating System authenticated Oracle account? If I have an UNIX account "apps", then can i just alter user apps and set it to externally? Or I will need to create a new OPS$apps database account? Will there any conflict between the account apps and OPS$apps?
    Thank you!

    Can i use the oracle built-in account "APPS" as the Operating System authenticated Oracle account?
    Yes
    If I have an UNIX account "apps", then can i just alter user apps and set it to externally?
    Yes.
    I will need to create a new OPS$apps database account?
    Yes, if your initialization parameter 'OS_AUTHENT_PREFIX' is set to 'OPS$'. Note that this parameter could be set to null. Also note that the text of the 'OS_AUTHENT_PREFIX' parameter is case sensitive on some operating systems.
    Will there any conflict between the account apps and OPS$apps?
    If the initialization parameter 'OS_AUTHENT_PREFIX' is set to 'OPS$', there are now two different Oracle users.
    They are 'APPS' and 'OPS$APPS'. The following link will provide you a lot of information on authentication.
    http://otn.oracle.com/pls/db10g/db10g.drilldown?remark=&word=AUTHENTICATION&book=&preference=
    If I were you, I would try it on a development/test
    system before implementing it in production.

  • External Table Authentication in OBIEE 11g

    Hi ,
    I have a security table, which contains userid,displayname,group . I have imported Security table in Physical Layer. I'm creating session variables based on condition.
    When am trying to logging into analytic s getting an error, invalid username and password . I'm using 11.1.1.6.0 version
    How to handle external table authentication in OBIEE 11g version.
    Regards,
    Malli

    Hi fiaz,
    That links talks about 10g version.
    Step1: We have imported a secutiry table in Physical layer.
    Step2: Creating a session variable by selecting initilazation block.
    Select user_name,group from security_table where user_id=':USER' and pwd=':password';
    step3: created DISPLAYNAME,GROUP & USER VARIABLES in edit target window
    After these modifications i was trying to logging with new user, which is there in security table.
    I am getting an error that is invalid user or password.
    Is there any other changes does it required here.
    Regards,
    Malli
    Edited by: user10675696 on Dec 26, 2012 9:39 PM

  • Error during addition of external link to oracle BPM workspace

    Hi All,
    I just want to add an external link to oracle BPM workspace and I've followed this tutorial :
    http://docs.oracle.com/cd/E28280_01/user.1111/e15175/bpmug_ext_apps.htm
    but I am neither able to view the required, nor getting any error.
    During deployment time I'm only getting this message :
    Issues were encountered while parsing this deployment to determine module type. Assuming this is a library deployment.
    I'm using the virtual m/c version : oel5u5-64bit-soabpm-11gr1-ps4-fp-Workshop-Exp_2
    Please help me to resolve the issue.
    Thanks in advance.

    What I meant to say is check the logs at the time you are getting the error since sometimes the logs can be huge in size

  • External Table Authentication

    Hi I am using OBIEE 11g.
    In my project we have to implement external table authentication. For that we have import the external table to physical layer. and build the repository variable using initialization block. In that i have written a following SQL -
    SELECT loginid
    ,grp
    ,display_name
    ,2
    FROM external_auth
    WHERE loginid = ':USER'
    and password = ':PASSWORD'.
    I have also create the variable target - LOGID, Group, Display Name and Log Level.
    and save the variable.
    My table structure like this - LoginID,Password,Grp, Display Name.
    When i am trying to save the RPD following error message raised.
    ERRORS:
    GLOBAL:
    [38095] The initialization string in the Repository Initialization Block '"Auth Variable"' contains the use of :USER or :PASSWORD.
    Any one to help to come out from this issue.
    Kindly provide any link for step by step guide.
    Thanks
    Gauthaman

    Hi Gautham,
    i think you created Repository Variable.
    Create a Session variable and Session initilization bliock. give the same query in Session Initialize block. it will work.
    Thnaks
    GSR

  • External database Authentication Issue

    Hello Experts
    I have omplemented external database authentication in my PC and somehow its not working
    Do we have to configure the details in NQSconfig file in the security section for implementing External Database Authentication .

    Hello Thanks for your concern .
    Steps i have followed
    *1)* use that table. If not, create the following table in your database.
    CREATE TABLE OBI_USER
    USERNAME VARCHAR2(255 BYTE),
    PASSWORD VARCHAR2(255 BYTE),
    GROUPNAME VARCHAR2(255 BYTE),
    DISPLAYNAME VARCHAR2(255 BYTE),
    LOGLEVEL NUMBER,
    CREATED_DT DATE sysdate,
    **2)**Created New ODBC Connection to use Separate Connection pool for OBIEE Security .
    *3)* Created New Session Initialization Block for Authentication and gave
    (SELECT USERNAME, GROUPNAME, DISPLAYNAME, LOGLEVEL FROM CPR_OBI_USER WHERE UPPER( USERNAME) =UPPER(':USER') AND UPPER(PASSWORD) =UPPER(':PASSWORD') ) by selection the new BI Security connection pool
    In the variable Traget i have defined 'USER', 'GROUP', 'LOGLEVEL','DISPLAYNAME'
    *4)* Created another Session Initialization Block for Authorization and gave (SELECT 'GROUP', GROUPNAME FROM OBI_USER WHERE UPPER( USERNAME) =UPPER(':USER'))
    And selected row wise initialization in variable target AND assigned Authentication Initialization block in the Execution Precedence .
    *5)* Created Groups in Manage-> Security-> Groups with the same group names as given in OBI_USER Table
    *6)* Added Groups in Manage Catalog and groups in Presentation Services .
    *7)* When i log on with the user which is assigned to the group in the OBI_USER Table then its giving
    (Unable to Log In     
    An invalid User Name or Password was entered.
    Please enter your User ID and Password below, and then press the Log In button.)
    Edited by: newbi on Sep 28, 2010 9:53 AM

  • How to overwrite a log and bad file in external table in oracle 10g

    Hi,
    I have used external table in oracle 10g.whenever use select query in external table orace internally create one log file in specified directory,
    but this log file is growing.How can i overwrite the log file(old to replace with new).I need overwrite a log and bad file in external table.
    kindly give the solutions.
    By
    Siva

    I don't believe that is possible with the LOGFILE clause, but it may be with the BADFILE clause. Here is an excerpt from the documentation :
    The LOGFILE clause names the file that contains messages generated by the external tables utility while it was accessing data in the datafile. If a log file already exists by the same name, the access driver reopens that log file and appends new log information to the end. This is different from bad files and discard files, which overwrite any existing file. NOLOGFILE is used to prevent creation of a log file.
    If you specify LOGFILE, you must specify a filename or you will receive an error.
    If neither LOGFILE nor NOLOGFILE is specified, the default is to create a log file. The name of the file will be the table name followed by _%p and it will have an extension of .log.

  • Aironet 1140 FLEXCONNECT External Web Authentication and Apple Devices

    Hi!
    I'm having an issue with this Access Point.
    I've configured this access point with WLC in mode FlexConnect with web authentication.
    It's all right, i'm connecting with my PC in wireless, i open my web browser in windows, then the Access Point redirect me to External Web Authentication Page,
    i put my credentials, and  i'm redirected to my access point ( https:/1.1.1.1/login.html i accept the certificate) and then the Access Point redirect me to Internet.
    I do this with my android phone, it's all right again.
    I try to connect with iphone or ipad , i'm  redirected to External Web Authentication Page, i put my credentials, and i'm  redirected to https://1.1.1.1/login.html where the web browser don't ask me anything and i'm not redirected to Internet.
    Have you any idea?

    Thx you Scott, i understand what are you talking about, but my problem is different.
    I try to explain..
    I see the wireless network, i associate the iphone to this network, so i'm  redirected to Login page,
    as i use the "Apple Login" or i Open a Web Page .
    In this page , that i reach with all devices i put my credentials, then i will be redirected with all devices
    back to Access Point (https://1.1.1.1/login.html).
    In this page i should be   redirected to internet after Radius Authentication, but with Apple Devices this doesn't work.
    This is thw WEB AUTHENTICATION from Cisco Documents.
    The user associates to the web authentication SSID.
    The user opens their browser.
    The WLC redirects to the guest portal (such as ISE or NGS) as soon as a URL is entered.
    The user authenticates on the portal.
    The guest portal redirects back to the WLC with the credentials entered.
    The WLC authenticates the guest user via RADIUS.
    The WLC redirects back to the original URL.

  • OWB Mapping involving Oracle External Table to  Oracle Target Table.

    Hi All,
    I created a mapping which involves External Table as source & oracle table as target.
    Following were steps followed.
    1> Created Directory & External Table on oracle server
    2> Attached Text file with ',' delimiter to the External Table.
    3> Imported the External Table in source module.
    4> Created mapping which involves External Table as Source & Oracle Table as Target.
    5> Validated & Generated Mapping in OWB.
    6> Deployed the mapping in Deployment Manager.
    7> Executed the mapping in Deployment Manager.
    Execution Results: Completed with errors.
    No error message is displayed, I am wondering where can I get more information about the error message?
    Thanks in Advance.
    Regards,
    Vidyanand

    Hi,
    Look in the logfile <your runtime owner>.log.* under the directory <owb home>/owb/log
    thanks

  • Why do we really use External tables in Oracle?

    I looking why do we exactly use external tables in oracle and if you can help me please give me a scenario also.

    Before External tables (long ago in a galaxy far, far away) we would have had to load the text file into the database, most likely using SQL Loader before we could 'read it'.
    External tables allow us to define the text file in the Create table syntax and read that file over and over via SQL from the databse - In summary, I can access that text file (in parallel = fast) without loading it into my database, I just saved a step in my integration. I can also swap the file for a new file (same definition) and auto-magically access by new content.
    Here is a good link with a scenario for you :
    External Tables: An Introduction – All Things Oracle
    Of course with ODI - the complexity of SQL Loader control files is hidden, we just define the text file, use the LKM File to SQL and load it in, but where is the fun in that?
    Best check with your Solution Architect about what the best practises are for this in your organization.
    Rgrds
    Alastair

  • Obiee 11g external table authentication

    Hi,
    I try to create external table authentication but it is not working.
    I have created this table
    CREATE TABLE OBI_SECURITY_USERS
    USER_NAME VARCHAR2(100 BYTE),
    USER_PASSWORD VARCHAR2(20 BYTE) NOT NULL
    and I defined Initialization Block it is below
    select USER_NAME FROM obi_security_users
    where USER_NAME=UPPER(':USER')
    and USER_PASSWORD=':PASSWORD'
    and I set Variable target for USER
    I restart services but it is not working.
    Anybody help me?

    Thanks for your reply Suman.
    it is ok I login in answer from my OBI_SECURITY_USERS tables.
    I have new problem about user groups.
    My group table like this
    CREATE TABLE OBI_SECURITY_USER_GROUPS
    USER_NAME VARCHAR2(100 BYTE) NOT NULL,
    USER_GROUP VARCHAR2(100 BYTE) NOT NULL
    I insert to this table user and Group and my Initialization Block is here.
    select 'GROUP',user_group from obi_security_user_groups
    where UPPER(user_name )= UPPER(':USER')
    I have created two application role from em.
    I want to define role this group
    how can i do?
    Thanks

Maybe you are looking for

  • HP Laserjet 1320

    I should start by saying that I'm quite frustrated, so please forgive that. I have tried everything. I've been a Mac user since the OS9 days and while I don't claim to be an expert, I know a thing or two about a thing or two. *I have never had such a

  • Adobe Bridge CS4 window will not open MAC

    I was using Bridge CS4 on a MAC OSX 10.6.8 yesterday and all was fine. Today when I went to use Bridge, there was no window open. Bridge started up and appeared normal. However, there is no window. When I select "new Window" nothing happens. I uninst

  • Querying uncommitted session data in SQL Developer debugger

    I'm trying to analyze a large PL/SQL program that performs table creation, data insertion, and conditional updates to temporary tables. Is there a way to query the uncommitted data in the session in which the PL/SQL is running while stopped at a brea

  • Compiler.cpp line 1169

    I am unable to load a LabVIEW 6.0.2 VI in LabVIEW 2012 SP1 (or in SP1 f3). I get a failure in compiler.cpp: DWarn 0xA291168F: Error: generated insane Intermediate Representation The error is LabVIEW is 'LabVIEW needs more memory to compile this VI'.

  • Any advantage to dojng an A & I with retail Leopard vs. Upgrade Leopard?

    My Intel iMac came installed w/ Tiger and a "CPU Drop-In" DVD of Leopard. I need to do an Archive and Install to see if I can fix a hanging Finder. I previously bought a retail copy of Leopard for my G5, which I understand will install on either PPC