How to Set username in ADF from JAAS

Greetings :
I have an application that is mostly working. The problem is this. A user logs in using a JAAS module I wrote. As the principal I set their username. That works, I can display it on a jsp page or put it in session just fine. The problem is that when this user creates a new record there is a owner field that I want to default to this username. For example, I have a table mapped to adf data controls. Somewhere in the entity object (or wherever you think if you tell me differently) I would like to do something like :
setOwner(request.getUserPrincipal().getName());
the problem is, that I don't have the request object inside the create for example (obviously so and it most certaily shouldn't be accessible there).
Can anyone tell me the best way to do this sort of thing?
Thanks
Troy

You can look in help under:
Enabling a Database Audit Trail in an Entity Object Definition
This will give you the option to save created by, created date, modified by and modified date with the record. The username will be prefixed by the realm.
You can get the username inside an application module via:
String userId = getUserPrincipalName();

Similar Messages

  • How to set username in securityContext??

    ADF Security uses SecurityContext to retrieve username and display page using roles of a particular user...... and we add users and application roles in jazn-data.xml
    Actually my website created in adf doesn't have any login page..... It will receive user information from another website....
    Now i want to display pages and their content based on user and their role....
    Can u please tell me how to set Username in securityContext such that my website will work on the username retrieved from another website via token....
    Please answer this question.....

    This may help...
    public String doLogin() {
    String un = _username;
    byte[] pw = _password.getBytes();
    FacesContext ctx = FacesContext.getCurrentInstance();
    HttpServletRequest request =
    (HttpServletRequest)ctx.getExternalContext().getRequest();
    try {
    Subject subject =
    Authentication.login(new URLCallbackHandler(un, pw));
    weblogic.servlet.security.ServletAuthentication.runAs(subject,
    request);
    String loginUrl =
    "/adfAuthentication?success_url=/faces/DashBoard";
    HttpServletResponse response =
    (HttpServletResponse)ctx.getExternalContext().getResponse();
    sendForward(request, response, loginUrl);
    } catch (FailedLoginException fle) {
    FacesMessage msg =
    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Incorrect Username or Password",
    "An incorrect Username or Password was specified");
    ctx.addMessage(null, msg);
    } catch (LoginException le) {private void reportUnexpectedLoginError(String errType, Exception e) {
            FacesMessage msg =
                new FacesMessage(FacesMessage.SEVERITY_ERROR, "Unexpected error during login",
                                 "Unexpected error during login (" + errType +
                                 "), please consult logs for detail");
            FacesContext.getCurrentInstance().addMessage(null, msg);
             e.printStackTrace();
    reportUnexpectedLoginError("LoginException", le);
    return null;3
    private void reportUnexpectedLoginError(String errType, Exception e) {
    FacesMessage msg =
    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Unexpected error during login",
    "Unexpected error during login (" + errType +
    "), please consult logs for detail");
    FacesContext.getCurrentInstance().addMessage(null, msg);
    e.printStackTrace();
    Thanks,
    CM.

  • How to set an Application Item from PL/SQL

    I am attempting to set an Application Item
    After login to my app, I want to retrieve a row from my SETTINGS table and populate some Application Items with the settings information so that I can
    display some of that settings information on every page.
    Just to start, I created one Application Item named F106_YEAR
    I then created a Shared Components Application Process which executes on New Session: After Authentication
    I created this process as an Anynomous PL/SQL block.
    declare
    aucyr varchar(4);
    begin
    select year into auctyr
    from settings;
    :F106_YEAR := aucyr;
    end;
    I've tried a couple of other Syntax tricks attempting to reference the Application Item F106_YEAR from within PL/SQL (like V('F106_YEAR') but nothing seems to be working.
    I'm sure that I am missing something simple. Can someone tell me how to set an Application Item from PL/SQL?
    Thanks in advance.

    I'm still doing something wrong because this is not working for me.
    I've tried both of the following versions as an Application Process set to run on New Session after Authentication:
    declare
    auction_year varchar(4);
    begin
    select year into auction_year
    from PBUUC.SETTINGS where rownum < 2;
    :F106_AUCTION_YEAR:=auction_year;
    end;
    and I also tried:
    declare
    auction_year varchar(4);
    begin
    select year into auction_year
    from PBUUC.SETTINGS where rownum < 2;
    APEX_UTIL.SET_SESSION_STATE (p_name, p_value);
    end;
    F106_YEAR is a global Item (shared components).
    The select statement works just fine in SQL*PLUS so I know that it is correct.
    If I run the debugger and log into the application, here is the output. Shouldn't I see my Application Process get called if it is set to run on New Session after Validation?
    My Application process is named RETRIEVE_AUCTION_SETTINGS
    0.01: A C C E P T: Request="P101_PASSWORD"
    0.01: Metadata: Fetch application definition and shortcuts
    0.01: alter session set nls_language="AMERICAN"
    0.01: alter session set nls_territory="AMERICA"
    0.01: ...NLS: Set Decimal separator="."
    0.01: ...NLS: Set NLS Group separator=","
    0.01: ...NLS: Set date format="DD-MON-RR"
    0.01: ...Setting session time_zone to -04:00
    0.01: NLS: wwv_flow.g_flow_language_derived_from=0: wwv_flow.g_browser_language=en-us
    0.01: Fetch session state from database
    0.02: ...Check session 695371898690095 owner
    0.02: ...Check for session expiration:
    0.02: ...Metadata: Fetch Page, Computation, Process, and Branch
    0.02: Session: Fetch session header information
    0.02: ...Metadata: Fetch page attributes for application 106, page 101
    0.03: ...Validate item page affinity.
    0.03: ...Validate hidden_protected items.
    0.03: ...Check authorization security schemes
    0.03: Session State: Save form items and p_arg_values
    0.03: ...Session State: Save "P101_USERNAME" - saving same value: "jps"
    0.03: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.03: Branch point: BEFORE_COMPUTATION
    0.03: Computation point: AFTER_SUBMIT
    0.03: Tabs: Perform Branching for Tab Requests
    0.03: Branch point: BEFORE_VALIDATION
    0.03: Perform validations:
    0.03: Branch point: BEFORE_PROCESSING
    0.03: Processing point: AFTER_SUBMIT
    0.03: ...Process "Set Username Cookie": PLSQL (AFTER_SUBMIT) begin owa_util.mime_header('text/html', FALSE); owa_cookie.send( name=>'LOGIN_USERNAME_COOKIE', value=>lower(:P101_USERNAME)); exception when others then null; end;
    0.04: ...Process "Login": PLSQL (AFTER_SUBMIT) wwv_flow_custom_auth_std.login( P_UNAME => :P101_USERNAME, P_PASSWORD => :P101_PASSWORD, P_SESSION_ID => v('APP_SESSION'), P_FLOW_PAGE => :APP_ID||':1' );
    0.06: ...Process "Clear Page(s) Cache": CLEAR_CACHE_FOR_PAGES (AFTER_SUBMIT) 101
    0.06: Nulling cache for application "106" page: 101
    0.00:
    0.00: S H O W: application="106" page="1" workspace="" request="" session="695371898690095"
    0.01: alter session set nls_language="AMERICAN"
    0.01: alter session set nls_territory="AMERICA"
    0.01: ...NLS: Set Decimal separator="."
    0.01: ...NLS: Set NLS Group separator=","
    0.01: ...NLS: Set date format="DD-MON-RR"
    0.01: ...Setting session time_zone to -04:00
    0.01: NLS: wwv_flow.g_flow_language_derived_from=0: wwv_flow.g_browser_language=en-us
    0.01: Application 106, Authentication: CUSTOM2, Page Template: 2904114531488186
    0.01: ...Session ID 695371898690095 can be used
    0.01: ...Application session: 695371898690095, user=JPS
    0.01: ...Determine if user "JPS" workspace "1040027630222986" can develop application "106" in workspace "1040027630222986"
    0.01: ...Check for session expiration:
    0.01: Session: Fetch session header information
    0.01: ...Metadata: Fetch page attributes for application 106, page 1
    0.01: Fetch session state from database
    0.02: Branch point: BEFORE_HEADER
    0.02: Fetch application meta data
    0.02: Computation point: BEFORE_HEADER
    0.02: Processing point: BEFORE_HEADER
    0.03: Show page template header
    0.03: Computation point: AFTER_HEADER
    0.03: Processing point: AFTER_HEADER     
    0.04: Computation point: BEFORE_BOX_BODY
    0.04: Processing point: BEFORE_BOX_BODY
    0.04: Region: Auction_Title F106_AUCTION_YEAR

  • ADF How to Set TimeZone in adf-faces-config.xml

    hi
    How to set timezone in adf-faces-config.xml .

    Valid ID for a java.util.TimeZone should be supported.
    See also http://java.sun.com/j2se/1.5.0/docs/api/java/util/TimeZone.html

  • How to set role based Authorization in JAAS

    how to set role based Authorization in JAAS
    i had user name , password and role in FileLogin
    thanks
    arun .v.

    http://dev2dev.bea.com/pub/a/2003/04/Kemp_Helton.html?page=last

  • ERPI: how to set up drill through from Planning to EBS

    Hi,
    When you guys know how to set up drill through from Planning to EBS through ERPI ??
    I encountered the following message when I tried to drill :
    no drill through reports found at this location
    I think I didn't set up the drill through functionality properly.
    Regards,
    Eddy

    Can you check the log file for any errors? Also, check if the drill regions are created in the application. You can navigate to process details in ERPI and select the show log link for the corresponding process id. That should indicate if the drill regions were created on the target.
    Thanks,
    Bala

  • How to know username and password from existing PPPOE broadband connection?

    Hi All,
    I am using windows server 2008 R2, and now I've used PPPOE broadband connection to connect the internet. what I am asking is how to know the username and password from my PPPOE setting, I have the requirement to create same setting in the difference machine.
    thanks.

    You can get this info from your ISP. This one may help.
    Create a Broadband connection using PPPoE in Windows Vista and Windows Server 2008
    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

  • How to set username and password when using Proxy class for SOCKS5?

    Hi all,
    I use the proxy class for SOCKS5, so need to set username and password, I don't find where can I set the value. whether the API support it.
    Thanks in advance!

    System.getProperties().put("proxySet", "true");That does nothing. Remove.
    System.getProperties().put("proxyHost", getProxyHost());
    System.getProperties().put("proxyPort", getProxyPort());You should be setting socks.proxyHost and socks.proxyPort here.
    System.setProperty("java.net.socks.username", getSOCKSUsername());
    System.setProperty("java.net.socks.password", getSOCKSPassword());
    Authenticator.setDefault(new ProxyAuth(getSOCKSUsername(), getSOCKSPassword()));You either need the first two lines or the third, not both. See the last link posted above.
    1. After I set the value, I connect internet by proxy, how the proxy server knows the values?Because Java tells it during the SOCKS handshake.
    2. In my app, I just set the values in the system properties, then JVM does remaining work? Remaining work is not concerned?Should be OK unless you have to connect to a different SOCKS proxy from the same JVM, but that kind of thing is problematic anyway due to the curious Authenticator design which is set globally, not per connection as you might expect.

  • How to set username and password at line vty 0 4?

    hi guys,
    would like to know how i can set username and password so when i telnet to the router, i can login as username and password..?
    thks,
    ken

    Hi,
    for a simple telnet password with user name & password, find the steps below,
    aaa new-model
    username password
    line vty 0 4
    password
    login local
    if you wanted different types of users to login with different privilagez,do the following
    username privilege 15 password
    username privilege 5 password
    privilege exec level 15 conf t
    privilege exec level 5 show
    line vty 0 4
    password
    login local
    in the above statement "privilege exec level 15 "will have full access, "privilege exec level 5" will have the limited like "show" related
    hope this helps.
    rate this post if cleared.

  • How to set the HOME link from two frame jsp page to no frame main page?

    Hi all,
    i have one main jsp page named as main.jsp.
    From the main.jsp, i can click the button and link to the twoFrame.jsp.
    This twoFrame.jsp have another two different jsp inside the frame called Aframe.jsp and Bframe.jsp.
    i try to put HOME in the Aframe.jsp(one of the page inside twoFrame.jsp) but only the Aframe.jsp manage to link to main.jsp but the Bframe still there.
    My question is: How to set the HOME link button from this twoFrame.jsp to the main.jsp? what i want is from twoFrame.jsp(two frame) to main.jsp(no frame).
    rgds,
    Bryan523

    No offense, but this is basic HTML. You shuold look into learning HTML before getting too deep into JSP. Try this: http://www.w3schools.com/html/default.asp
    But as a more specific answer, you have to set a target for the link to the _parent of your frame:
    <a href="main.jsp" target="_parent">Home</a>

  • How to set Action of commandButton from javabean?

    Hi,
    How can I to set Action of commandButton from javabean with JSF 1.1?
    Thanks

    Try this:
    import javax.faces.component.html.HtmlCommandButton;
    Application application = FacesContext.getCurrentInstance().getApplication();
    HtmlCommandButton button = (HtmlCommandButton) application.createComponent(HtmlCommandButton.COMPONENT_TYPE);
    MethodBinding mb = application.createMethodBinding("#{mybean.action}", null);
    button.setAction(mb);

  • How to set up all requests from users should go through a specific module

    I want to set up all request from users go throuth a module.
    for example, when user request a page the request go through log module to write it.
    so please tell me the setting if it's possible, or should i make it with nsapi?

    I want to set up all request from users go throuth a module.
    for example, when user request a page the request go through log module to write it.
    so please tell me the setting if it's possible, or should i make it with nsapi?

  • How to set userName from security context to Criteria in portlet

    Hi,
    From the portal application I have to get the logged in user and use the same user to filter the records in Portlet. I have to execute a view Criteria in portlet as a default method activity which takes logged in user as a input param.
    Is this achievable? Please let me know.
    Thanks in Advance
    Morgan.
    Edited by: Morgan Freeman on Aug 24, 2011 1:22 AM

    I have been doing some testing and there seems to be an issue with passing username to the portlet.
    Normally things like security.userName or portletrequest.getRemoteUser() should all work and they do work in webcenter PS2 but since JSR 286 this does not seem to work anymore.... ALthough the documentation of oracle states that is works but it doesn't :)
    A working workaround is to create a public render parameter (portlet parameter) and pass the username to that.
    I'll see if there is a configuration that we need to make in order for this to work.

  • How to set username and password before redirecting to a RESTful webservice

    I am a .Net developer who has developed a webservice used by my ColdFusion colleagues. They are using ColdFusion 9 but I'm not sure if they have incorporated any of the newer features of ColdFusion in their apps. Here is a snippet of how they have been invoking the webmethods:
    <cfscript>
                         ws = CreateObject("webservice", "#qTrim.webServiceName#");
                         ws.setUsername("#qTrim.trimAcct#");
                         ws.setPassword("#qTrim.trimpwd#");
                         wsString=ws.UploadFileCF("#qTrim.webserviceurl#","#objBinaryData#", "#qFiles.Filename#", "Document", "#MetaData#");
                </cfscript>
    As I understand things, the .setUsername and .setPassword correspond to the Windows credentials the CF Admin set when the URL of the .Net webservice was "registered" and given its "name" (for the CreateObject statement above). I have 4 webmethods that are all invoked in this manner and this SOAP protocol works adequately for us. Please note that this ColdFusion web app authenticates anonymous remote internet users by prompting for a username and password and compares them to an application database (i.e. Microsoft calls this "forms authentication"). Because only a few Windows domain accounts are authorized to call this .Net webservice, the above code always uses the same username/password constants and it all works.
    My question involves the newest webmethod added to the .Net webservice. It requires that callers must invoke it as a RESTful service which means it must be invoked by its URL. Here is a snippet of C# code that invokes it from an ASP.NET webclient:
                string r = txtRecordNumber.Text;
                string baseurl = "http://localhost/sdkTrimFileServiceASMX/FileService.asmx/DownloadFileCF?";
                StringBuilder url = new StringBuilder(baseurl);
                url.Append("trimURL="); url.Append(txtFakeURLParm.Text);
                url.Append("&");
                url.Append("TrimRecordNumber="); url.Append(txtRecordNumber.Text);
                Response.Redirect(url.ToString());
    I assume a ColdFusion script could easily build a full URL as above with appended querystring parameters and redirect. Is there some way for the CF code redirecting to a RESTful webservice (by way of its URL) to set the Username and Password to this Windows account mentioned above? When the DownloadFileCF webmethod is hit it must be with the credentials of this special Windows domain account. Can that be set by ColdFusion someway to mimic the result of the SOAP technique (the first snippet above).
    I hope my question is clear and someone can help me make suggestions to my ColdFusion colleagues. Thanks.

    Can you clarify what you mean by "establish a different Windows identity"?  Usually passing identity to a web site or service means adding something to the request's HTTP headers.  This could be a cookie in the case of .NET forms authentication or the "Authorization" header in the case of basic authentication.
    The SOAP web service invocation code you posted does use basic authentication, according to the CF docs "ColdFusion inserts the user name/password string in the authorization request header as a base64 binary encoded string, with a colon separating the user name and password. This method of passing the user name/password is compatible with the HTTP basic authentication mechanism used by web servers."
    http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec13a13 -7fe0.html
    If you need to mimic the SOAP techinque you should have basic authentication enabled for your REST service endpoints.
    If your authentication method is different then CF developers will need to add the appropriate HTTP headers to their service calls.  Note that calling a REST service from CF would probably be accomplished using the CFHTTP tag if the service is designed to be consumed by the CF server.

  • How to set password for photos from home screen? Please help.

    Hi,
    Can anyone pls help to set password for my Iphone 4s.
    My friends/family often use my phone for gaming purpose. I don't want them to see my photos/gallery/videos.
    How can I protect my personal things from others?
    Thnx.
    Rgds.

    There is no way to set a password for photos. You could upload all of your photos to something like DropBox, then sign out of the app. Or, you could only let people you trust to respect your privacy touch your phone.

Maybe you are looking for

  • Just Got my ipod touch and is not connecting to windows vista

    i'm having the same problem that a lot of you had, i try everything that i read on this page uninstall itunes installed it againg pretty much everything now when i connect my ipod touch this error comes up on itunes THE SOFTWARE REQUIRED FOR IPHONE I

  • We get "uFF06uFF03x0;" from sender JDBC adapter

    Thank you. This is naoki kurihara. We have a problem in sender JDBC adapter. We use java mapping and sender JDBC adapter in PI7.1 on Windows.(DB is sqlserver) and we test the interface and we found error. the reason is to get "&#x0;" from JDBC adapte

  • Display same data on 2 regions of the SAME Page

    Hi I have 2 regions.Top is an interactive editable report.Bottom region is a read only report of the same(top region) But when i click search button(based on paramters 1&2, i am not able to see the same number of rows. Top region shows 5 like emp id

  • Out of Memory Issues in Plannign web application

    We have a issue with Planning application running in VM environment. I have noticed following entries in Hyperion Planning log as soon as user launches web forms. Some times this issue is causing serious trouble to my users as it is stopping planning

  • Link not working on a pie chart which uses a customized XML

    Hi, I have created a pie chart which uses customized XML. For this, i am using database function. This function returns a customized XML which is eventually used by chart. But the problem now i am facing is the link on chart is not working . I have t