How to use VPD in Java/Struts JSP portlet with SSO

DB = 10.1.0 (Standard Edition)
Portal = 9.0.4.1
10gAS = 9.4.0.1 (EE)
I am in the beginning stages of developing some portlets that will be Java/Struts JSP based. We use SSO and have implemented some VPD security in our DB by creating some views that use SYS_CONTEXT('USERENV','CURRENT_USERID').
These Java portlets connect to the DB using a defined JDBC connection for the OC4J container they are deployed in. The problem I'm having is that the call to SYS_CONTEXT is returning the user of the JDBC connection and not the SSO user. So far I have been unable to find any documentation that will point me in the right direction to get this configured properly.
Deployment and configuration are as follows. Deploy war file to custom container on app server. In the configuration of the OC4J contain the app used the containers default JDBC connection using the oracle.jdbc.pool.OracleDataSource class. Max and Min open connections are blank.
In the portal configuration under Navigator - Providers tab we defined a new Registered Provider. In the Connections tab for the provider we Specify the URL Http://hpsrv02.simsol.com:7777/discovery-portlets/providers. Under "Specify how the user's identity will be set by the Portal..." the "The user has the same identity in the Web providers application as in the Single Sign-On identity" is selected. Under "User/Session Information" User is selected and Login Frequency is set to "Once per user session". Then we created a new portal page and created a new portlet with the new provider.
Just an FYI I do have Discoverer working with VPD and any report portlet, dynamic page portlet and any other type of portlet I created all work correctly with VPD it is just the java/struts one that is not working.
So does any one have any insight into what configuration steps I have missed?
Any help is much appreciated,
Ed Klinger

Ed,
Your java code must get the SSO username (it's just a HTTP header variable) :
ie: code sample...
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = request.getHeader(name);
out.println("<br> "+name + " = " + value);
if (name.toUpperCase().trim().equals("OSSO-USER-DN")){
dn_user=value;
out.println("<br>******** USER DN = "+dn_user);
Then, the SSO username can be used in the VPD policy.
Note that there is a difference between the sso username and the database username . SSO username is not known by database (CURRENT_USERID will return a database username)
Discoverer worked OK in your case with the SYS_CONTEXT (.. CURRENT_USERID) because authentication is made by database user, probably.

Similar Messages

  • How to use javascript functions in struts jsp page

    hi
    iam using struts jsp pages. here iam calling one javascript function. but iam not able to access the form in javascript.
    wat i have to give as form name to get the elements of the form.
    please reply me soon
    it is urgent
    vamsi

    your form has no name liek this one:
    <html:form action="/userRegistration.do" >so you cannot access the elements inside your form?
    accessing the elements inside the form will be like this:
    document.forms[0].propertyName.value;

  • How to use debug my jdevloper devloped jsp applications using tomcat 4.0?

    hello,
    how to use debug my jdevloper devloped jsp applications using tomcat 4.0?
    how to run with using tomcat path with browser?
    can any one help?
    thanks
    pullareddy

    Hi Pullareddy,
    Charles' answer will work for Servlets in Tomcat, but debugging JSPs is a bit more complicated than debugging Servlets.
    Here's what you need to do:
    (I don't have Tomcat, so I don't know the details of Tomcat configuration files and I can't guarentee that Tomcat provides the flexibility so that you can configure it for debugging JSPs. Each application server is configured a bit differently. Hopefully you can adjust the following instructions to Tomcat.)
    1. You need to replace Tomcat's JSP engine with OJSP and you need to setup debugging parameters for OJSP.
    This is not specifically in the JDev documentation, but you may be able to apply the information found in the topic "Remote Debugging in OC4J".
    Here are some tips:
    A. You'll probably need to specify the following jars in some Tomcat config file: ojsp.jar, ojsputil.jar, xmlparserv2.jar, ojc.jar, and jdev-rt.jar.
    B. The OJSP class name is oracle.jsp.runtimev2.JspServlet.
    C. The debug parameters are:
    debug_mode = true
    developer_mode = true
    encode_to_java = true
    emit_debuginfo = true
    jspjavacompiler = oracle.jdevimpl.jsp.JspOjcCompiler
    2. You need to make Tomcat start the Java command with debugging options. (This is what Charles was talking about. One of the debug options is -XXdebug). This is in the JDev documentation in the topic "Starting a Java Process in Debug Mode". Please read that documentation help topic.
    3. You need to delete any old .java or .class files which were created in the past for your JSP. If you leave old .java or .class files around, then the debugger may not be able to stop at breakpoints in your JSPs. So, be sure to clean up old files.
    4. Set your project settings for remote debugging. This is on the Debugger - Remote panel in the Project Settings dialog box. You probably want either Attach to OJVM or Attach to JPDA. Which radio button you choose depends on what command line options you specified in step 2.
    -Liz

  • How to use nested tag in Struts

    Hi..
    Can any one guide me how to use nested tag in Struts. So far i already tried bean tag with no error but when i try to use nested tag i got error like
    javax.servlet.ServletException: Cannot find bean: "" in any scope
    Below are my class:
    action class
    session.setAttribute ("MyDetailList", detailList);
    JSP page
    <logic:iterate id="list" name="MyDetailList">
    Company ID : <bean:write name="list" property="companyID" />
    </logic:iterate>
    For bean tag, i got no error at all and below are my code for nested tag
    action class
    session.setAttribute ("MyDetailList", detailList);
    JSP Page
    <nested:nest property="MyDetailList">
    Make : <nested:text property="make"/>
    Car ID : <nested:text property="carID"/>
    </nested:nest>
    When i run the code, i got error message
    javax.servlet.ServletException: Cannot find bean: "" in any scope
    Any body can help me?
    zul

    what am I doing wrong?You will notice above that I mentioned
    YOU CAN'T USE CUSTOM TAGS AS ATTRIBUTES TO OTHER CUSTOM TAGS
    (was that loud enough for you to notice this time)?
    Try
    <html:text styleId="instruction" styleClass="text" size="50" name="instruction" property="value"/>
    //or
    <html:text styleId="instruction" styleClass="text" size="50" property="instruction" value="<%= instruction.getValue() %>"/>
    better alternative: populate your formbean with your action and just have:
    <html:text styleId="instruction" styleClass="text" size="50" property="instruction"/>
    If you set the "instruction" property of your formBean in the action, the value will be automagically reflected here.
    Cheers,
    evnafets

  • How to use Crystal Reports XI release 2 Preview with Lotus Notes  Scripts ?

    <br />Hi all,<br /><br /> How to use Crystal Reports XI release 2 Preview with Lotus Notes 7 Scripts ?<br /><br /> <br /><br />Thank&#39;s  <br />

    Hi,
    we are using Lotus Notes and Crystal Reports for preview and printing reports from our Lotus Notes Applications. We use the RDC object model. For previewing the reports we export them in an pdf-file and then start the PDF Reader to show the Preview. This works fine.
    But with Crystal Reports > 11 the RDC Object Model is no longer supportet, so we look for another way to preview and print our reports.
    I try to preview a report build with crystal report XI release 2 in my thick client (Lotus Notes) using java reporting component JRC, this report uses an native xml file as datasource. If the datasource is saved with the report everything works fine, but otherwise I have the following error:
    JRCAgent1 detected an exception: javax.xml.namespace.QName: method getPrefix()Ljava/lang/String; not found
    I also tried the .jars from Crystal4Eclipse. Doesn't work. When I use Eclipse to view the report everything works fine. The class QName exitsts in the jaxrpc.jar and in the xbean.jar, but only in the xbean.jar a Methode getPrefix exists.
    This is what we tried:
    Works fine with RDC. Doesn't work with JRC until now.
    Did this help you ?
    Perhaps you con help me with the JRC, because I'm a java newbee so any ideas could be helpful.
    Oliver
    <p><a href="http://www.cominform.de">www.cominform.de</a></p>

  • How can use my Wireless Location Appliance to work with RF ID's?

    How can use my Wireless Location Appliance to work with RF ID's for Asset Tagging.
    It seems Smartcard used for ID cards have a small RF ID, can I use this for Asset Tagging?
    Thanks in Advance

    There are two kinds of RFID tags: Active tags, which have a battery or other internal power source, and passive tags, which have no power source and work by reflecting the energy from an RFID scanner (basically). At the energy levels and distances used for WiFi location detection, passive tags will not return a detectable signal.
    Take a look at http://www.aeroscout.com/ for more info on WiFi RFID tagging.

  • How to use the special character pallet in Maverics with Illustrator

    How to use the special character pallet in Mavericks with Illustrator - I follow the help instructions, but the pasted in object looks like a rectangle with an X, I have done this before, in earlier versions of AI, but cannot make it work in CS6.
    In fact, I can open an old AI file (CS4), copy the character (a graphic symbol, also taken from the special character set), paste it in, and it works, but can't do this with a new one, from the drop down, Show Character Viewer, in the Mavericks menu bar.

    The box with an X indicates the font you are using does not have the glyph you are trying to paste. Try a different font.

  • How to use LABVIEW to collect wireless network camera (with video server) video.

    How to use LABVIEW to collect wireless network camera (with video server) video.I would like to use LABVIEW for a wireless network camera (IP Camera comes with the video server module)the client program.Will the ability to achieve?If feasible, how to do, there are examples, thank you.

    I believe NI Vision is what you are looking for. 

  • How i get user info from ldap using java after authenticating user with SSO

    Hi
    I have one jsp/bean application as a partner application with SSO.
    It works fine.
    Now i need to get other attributes of user from LDAP who has logged into the application through SSO.
    using SSO java APIs i only get username, userDN, subscriber info.
    To get user's other attribute i have to user LDAP APIs for that i have to create on Directory Context, for the same i need userpassword.
    so here i my question, how do i get user password after he has logged in thro SSO.
    regards..
    and thanking u in advance
    samir

    Valentina,
    there's no way to get the password value from the directory (it's one way). Of course you can get the hashed (MD4,MD5,SHA-1) base64 encoded value (i.e. the value you see in OiD) but not the 'password'.
    --Olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to use Flex tag library in jsp

    Hi All,
    We are planning to use flex in our J2EE application in order
    to show some charts. Our j2ee application is in JSP,Struts. I have
    searched on google about this and found that I can include flex 3
    tab library in the jsp in order to use mxml tag in the jsp. I have
    written a sample program in the jsp which uses flex.
    <%@ taglib uri="FlexTagLib" prefix="mm" %>
    <SCRIPT LANGUAGE="JavaScript">
    function showMessage() {
    message.value = "Use this application wisely";
    function hideMessage() {
    message.value = "";
    </SCRIPT>
    <mm:mxml border="5" onmouseover="showMessage();"
    onmouseout="hideMessage();">
    </mm:mxml>
    <TABLE>
    <TR>
    <TD><input type="text" name="message"
    size="50"></TD>
    </TR>
    </TABLE>
    I have added entry inweb.xml. See below,
    <taglib>
    <taglib-uri>FlexTagLib</taglib-uri>
    <taglib-location>/WEB-INF/tlds/flex-bootstrap.jar</taglib-location>
    </taglib>
    Following are the problems that I am currently facing.
    1) Could anybody let me know whether the entry of
    <taglib> tag is correct in the web.xml. Is it the correct
    jar(flex-bootstrap.jar) that I should include?
    2) If yes, from where to download it? or
    If no, what is correct jar that i should include and how?
    your response will be highly appriciated as this is the major
    requirement in our project?
    Thanks ,
    Chandan

    Hi,
    Pleas find details at the URL below.
    http://labs.adobe.com/wiki/index.php/Flex_2_Tag_Library_for_JSP
    Hope this helps.

  • How to use JPublisher generated package in JSP

    I am finding difficulty in using JDeveloper genereted (Using JPublisher) package ( from PL?SQL packages of Oracle) using in JSP . can any body help
    Prashant

    Can you be more specific on what you are doing and what problem you are facing.
    You can refer JPublisher documentation here.
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/java.920/a96658/toc.htm
    JPub help with Jdeveloper
    http://otn.oracle.com/jdeveloper/help/
    Go to using SQL in Java Programs ->Accessing Oracle Objects and PL/SQL Packages using Java
    Also you can see how JPub generated classes can be used in SQLJandJPublisherSample at following url. You can apply similar concept for JSPs.
    http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/9i_sqlj/9i_sqlj.html
    Chandar

  • How to use ugm:getGroupNamesForUser tag in jsp

    when I use the tag in jsp ,run in server,the console write"weblogic.servlet cannot be resolved or is not a field <p><ugm:getGroupNamesForUser username="weblogic" id="weblogic"/>"
    I don't how to use it,please tell me,thank you!

    I'm not sure why you are getting the console message, but here is how you might use the tag. This will simply print out the list of immediate groups (not parent groups) to which user "weblogic" is a member.
    &lt;%@ taglib uri="http://www.bea.com/servers/p13n/tags/userGroupManagement" prefix="ugm" %&gt;
    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
    &lt;ugm:getGroupNamesForUser username="weblogic" id="groupNames"/&gt;
    &lt;c:forEach items="${groupNames}" var="groupName"&gt;
    bq. &lt;c:out value="${groupName}"/&gt;
    &lt;/c:forEach&gt;

  • I need to learn how to use all about java & mysql...help me!

    I have a situation here, I need to learn how to use java with mysql
    . Can I connect to a MYSQL DB with servlets?
    how can I build an e-mail server with java (no matter how difficult)
    please, I need help, and I really apreciate your help.
    thank you very much!!

    I have a situation here, I need to learn how to use
    java with mysql
    . Can I connect to a MYSQL DB with servlets?Yes... documentation to help you connect to any database can be found at http://java.sun.com/products/jdbc. To connect to MySQL, you'll need drivers (sourceforge.net), and the specific connection URL for those drivers will be included in the documentation.
    how can I build an e-mail server with java (no matter
    how difficult)If you're fairly new to JSP/Servlets, you may be in over your head here, since an email server is no easy application to code. Here's a link to the source code for the JAMES project... Apache's Java email server... maybe you can find some useful information there...
    http://www.ibiblio.org/pub/packages/infosystems/WWW/servers/apache/jakarta/james/source/

  • How to use getContent() method in custom JSP Provider to display a HTML Pag

    Hi,
    If anybody knows how to use getContent() method to use in custom jsp providers (developed by ourselves) so that it can be used to retrieve a jsp page (a simple html page) ..
    I want the code in the provider java file to for the getContent method...
    Pls. get back to me asap....if any body has implemented a custom jsp provider...as it's urgent...
    I have alreday placed the JSP file in the directory structure /etc/opt/SUNWps/desktop/default/channel_dir..But still the jsp is not being displayed..
    Pls get me the getContent() method code to retrive the JSP file..
    satyabrata

    Hi,
    You don't have to do anything in the custom JSPProvider's getContent method except the call {  return super.getContent(request,response); } . If all you want is just to show your jsp, then create a channel from the default JSPProvider, and edit the property contentPage of that channel from samplecontent.jsp to your jsp name, save the changes and login again. You should see your JSP.
    Sanjeev.

  • How to use JNDI lookup from a JSP

    Hello,
    I know I should not be doing this (writing the lookup code in a JSP) but have to do it for some reasons.
    I am using this code in my JSP:
    try
         Context ctx = new InitialContext();
         dataSource = (DataSource)ctx.lookup("jdbc/mybillingora");
         conn = dataSource.getConnection();
         statement = conn.createStatement();
    catch(Exception excep)
    Is this code enough for a JNDI look up?? When I use this code, I get an exception:
    "javax.naming.NameNotFound exception:jdbc/mybillingora"
    Do I need to do something else??
    Why do we use :
    Properties env = new Properties();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "<some_context_factory>");
    env.put(Context.PROVIDER_URL, PROVIDER_URL);
    env.put(Context.SECURITY_PRINCIPAL, JNDI_USER);
    env.put(Context.SECURITY_CREDENTIALS, JNDI_PWD);
    InitialContext = new InitialDirContext(env);
    where JNDI_USER is the userid If ACL is configured at the JNDI server
    where JNDI_PWD is the password If ACL is configured at the JNDI server
    Context.INITIAL_CONTEXT_FACTORY is the initial Context factory and depends on ur JNDI service provider.
    PROVIDER_URL is the url of the JNDI server containing protocol/ip/port
    do i need to use this??
    would appreciate your help on this....
    Thanks

    If Tomcat is your servlet/JSP engine, they have a nice bit about how to do it:
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
    MOD

Maybe you are looking for

  • How to forbid the use of right click to open a pop up window  from a link ?

    I would like to prevent the user from opening pop up windows using the right button of the mouse on a link. Is it possible ? Thank you in advance for any help and suggestion. Paolo

  • Packaging Output

    Hi All,    Wish you all a very very happy new year.What are the settings we will do so that we can see the output of packaging material..

  • Information about Sun Cluster 3.1 5Q4 and Storage Foundation 4.1

    Hi, I have 2 Sunfire V440 with Solaris 9 last release 9/05 with last cluster patchs.. , Qlogic HBA fibre card on a seven disks shared on a Emc Clariion cx500. I have installed and configured Sun cluster 3.1 and Veritas Storage Foundation 4.1 MP1. My

  • Font not found when launching OEM

    Before the OEM window appears, messages apear saying: Font specified in font.properties not found [--system-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] There are 21 lines of the same text as indicated above. Any suggestions?

  • Infoset - Query with navigational attribute as filter

    Dear all, We have created an InfoSet linking an InfoObject 0COORDER to an Info InfoCube containing order data. We have used a Left outer join to link 0COORDER tol 0COORDER in the InfoCube. The purpose is to be able to report on all 0COORDER even if t