Query regarding session timeout

Hi all,
I have a scenario. My OAF page session gets timed out after 15 minutes and prompts me to login again. But before logging in, I just clicked on the back button of my browser and I was able to see the previous page. Can anyone please advise me how to resolve that loop-hole?
Regards
Geethu
Edited by: 982489 on Jan 17, 2013 5:26 AM
Edited by: 982489 on Jan 17, 2013 5:35 AM

Try this in Process Request. This will throw an error when back button is clicked. Refer to OAF Dev guide for more details on isBackNavigationFired
if (pageContext.isBackNavigationFired(true))
pageContext.redirectToDialogPage(new OADialogPage(NAVIGATION_ERROR)); //This will divert you to error page if back button is used.
//your processRequest code
Thanks
Shree

Similar Messages

  • Crystal report server2008 (XI R2): CMC session timeout error

    HI
    Crystal report server2008 (XI R2): CMC session timeout error
                Accessing folders, scheduling reporting or running reports are working fine with Central Management Console (CMC) within the Crystal report server or accessing CMC within VPN machine.  But when CMC is accessed through browser from client desktop i.e through proxy URL, users are not able to access folder or personal folders to view any reports even admin user is not able to access folders. When users try to access folder or personal folders it gives session-timeout errors. Within less than a 1 or 2 minutes it is showing session timeout error. Appreciates any one help on this quickly.
    Regards,
    Patrick Raths

    Please post your query to the [Business Objects Enterprise Administration|BI Platform; forum. This forum is dedicated to development and deployment of .Net applications that connect and interact with BusinessObjects Enterprise, BusinessObjects Edge, or Crystal Reports Server. This includes the development of applications using the BusinessObjects Enterprise, Report Application Server, Report Engine, and Web Services SDKs.
    BTW., if thi is an important issue, I'd recommend creating a phone case.
    Ludek
    Edited by: Ludek Uher on Aug 11, 2010 1:58 PM

  • Sso session timeout per partner application

    Hello,
    I was just wondering if it is possible to configure SSO session timeouts per partner application? I'm looking to log out users of a particular application after 15 minutes, but don't want this change to affect any of my other SSO enabled applications. Is this possible?
    Thanks,

    Hi,
    I do not think so, you can not specify specail parameter for one application in SSO.
    Why because SSO is one component (within your Infra) through which you logon different apps.
    Another solution may be it will expensive is that you 'll need to use different infra for this specific application.
    Regards,
    Hamdy

  • Session Timeouts and SmbServer

    Hi,
    When having iFS mapped to a network drive (via SMB), the SMB server
    is unable to recover from a timeout of the LibrarySession. The network
    drive then seems to be empty and doing a refresh within explorer
    doesn't help either. The only thing that helps, is remapping the
    network drive.
    Within Node.log of iFS I see this stacktrace.
    7/10/02 9:02 AM SmbServer: oracle.ifs.common.IfsException
    oracle.ifs.common.IfsException: IFS-21000: Session is not connected or has timed-out
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at oracle.ifs.common.IfsException.<init>(Compiled Code)
    at oracle.ifs.common.IfsException.<init>(Compiled Code)
    at oracle.ifs.common.IfsException.<init>(Compiled Code)
    at oracle.ifs.beans.LibraryObject.verifyConnected(Compiled Code)
    at oracle.ifs.beans.Folder.findPublicObjectByPath(Compiled Code)
    at oracle.ifs.beans.FolderPathResolver.findPublicObjectByPath(Compiled Code)
    at oracle.ifs.beans.FolderPathResolver.findPublicObjectByPath(Compiled Code)
    at oracle.ifs.protocols.smb.server.DbTree$DbQuery.<init>(Compiled Code)
    at oracle.ifs.protocols.smb.server.DbTree.getQuery(Compiled Code)
    at oracle.ifs.protocols.smb.server.ComTrans.trans2FindFirst(Compiled Code)
    at oracle.ifs.protocols.smb.server.ComTrans.replyTransaction2(Compiled Code)
    at oracle.ifs.protocols.smb.server.ComTrans.process(Compiled Code)
    at oracle.ifs.protocols.smb.server.ComSmb.handleSmbMessage(Compiled Code)
    at oracle.ifs.protocols.smb.server.SmbThread.handleNbMessage(Compiled Code)
    at oracle.ifs.protocols.smb.server.SmbThread.readPackets(Compiled Code)
    at oracle.ifs.protocols.smb.server.SmbThread.run(Compiled Code)
    This behavior actually causes us big problems when editing files via MS Office.
    Fortunately Office is able to still save it's data using some generated filename.
    (At least until now I could not create any data loss)
    But then you have to close it, remap then network drive, rename the file and then
    reopen the file. This is big trouble to users, which are not familiar with mapping
    network drives and renaming files with extensions.
    Is there a way to make the SmbServer keep the LibrarySession alive, as long as
    the network drive is mapped ?
    Regards,
    Jens Lorenz

    Workflow #2:
    Login to my account
    Click view all email
    Open Drafts Folder
    Open draft email response
    Select "Send" to send email (total in session time of 30 seconds)
    On screen reload, where I would expect to see some sort of indication that my email was successfully sent, instead the system throws session time out message and kicks me out.
    I have no idea if my email was successfully sent or not.
    Workflow #3:
    Login to my account
    Click view all email
    Attempted to open the first new email in my inbox (total time in session <15 seconds)
    System throws session timeout error and kicks me out to the main login.
    There is obviously something going on with your session holding code. The session variable is not being passed correctly or something but it's very, very frustrating to spend 30-45 minutes trying to type out a couple of lines, particularly when you have multiple important activities going on that you need to respond too via email.

  • OAM Session timeout

    Hi All,
    I have the following set up configured.
    1)Deployed a web application in a plain(non oim suite related) weblogic domain
    2)Installed OHS,OAM,OIM and OUD
    3)Configured OHS,OAM,OIM and OUD for SSO in OAM with the external URL from the independent weblogic domain
    4)Independent Weblogic domain is configured with OAMIdentityAsserter and OUD Authentication provider
    My query is as below.
    I have the session time out value configured as 600(seconds) in weblogic.xml of the web application.
    Now when the access the web application through OHS SSO URL, the session is not waiting for 600 seconds to timeout,but getting invalidated in around 30 seconds.
    How to resolve this issue.
    Please advice.
    I have the following configured in OHS proxy.
    <Location /bc>
    SetHandler weblogic-handler
    WebLogicHost ZZZZZZ.oracle.com
    WebLogicPort 9001
    </Location>
    firebug show the following URL getting hit just after the session invalidation http://ZZZZZ.com/oam/server/obrareq.cgi?encquery%3DHBGRZNUhr5Ucxs
    and the following error gets logged in oam server
    "Session invalid as returned by CHECK_VALID_SESSION_RESPONSE responseEvent fail>"
    Kindly suggest.
    Thanks,
    Praveen

    Verify whats session timeout value present in below config:
    http://docs.oracle.com/cd/E27559_01/admin.1112/e27239/session.htm#AIAAG354
    To edit the OAM common session settings:
    Log in to Oracle Access Manager.
    Click System Configuration.
    From the Common Configuration panel, double-click Common Settings.
    In the Session area:
    In Session Lifetime, increase the current value.
    In IdleTimeout (minutes), increase the current value.
    Click Apply.
    ~J

  • Portal Session Timeout - ICM/Webdynpro/POWL

    Hi Experts,
    We are having SRM Portal which has POWL Webdynpro and other applications running.
    SRM Portal is a seperate JAVA Instance and integrated to backend with SSO enabled.
    We have Logon Ticket Timeout set as default 8 Hours and the Session Timeout in Portal set as 2 Hours (Server>services>webcontainer>properties>Session Timeout).
    For the ABAP backend, we have rdisp/plugin_auto_logout-->7200 (2 Hours) and ICM timeout as remommeded by SAP as icm/server_port_0     = PROT=HTTP,PORT=8012,TIMEOUT=90,PROCTIMEOUT=600
    Now the problem is:
    1. Users connected to portal and work on any POWL Iviews has an idle time of two hours-->we get the ICM session timeout error page.
    2. Sometimes Users get the Login screen of portal within the Navigation Frame which can be identified as the Ticket Expiration
    Is there a possibility to control the behavior of portal to avoid these error pages to Users like if the timeout happened in backend, there should be auto refresh if the user clicks the application.
    And if the ticket expired, the portal should refresh to the home screen on clicking any Iview.
    We tried the IDLE timeout pop up and in Vain, you could see my another post on the same.
    Portal Idle Pop Up
    Regards,
    Sethu

    Hi,
    Read SAP note 705013,
    I think adjusting the kernel parameters, rdisp/gui_auto_logout and  rdisp/plugin_auto_logout will help.
    Try adding below parameters in the Instance profile.
    icm/keep_alive_timeout 3600
    icm/conn_timeout 5000
    Regards,
    Venkata S Pagolu

  • How to set session timeout per user

    Hi,
    Ho do I set the session timeout per User in the
    Application.cfm File??
    I tried using
    <cfif SESSION.UID EQ 1>
    <CFAPPLICATION NAME="appControl" SESSIONMANAGEMENT="Yes"
    sessiontimeout="#CreateTimeSpan(0,0,20,0)#">
    </cfelse>
    <CFAPPLICATION NAME="appControl" SESSIONMANAGEMENT="Yes"
    sessiontimeout="#CreateTimeSpan(1,0,0,0)#">
    </cfif>
    But this didnt work because the cfapplication seems to have
    to be at the top before I call the variable SESSION.UID which
    I set on my login page..
    Someone know how to do this??
    Regards
    Martin

    Martin,
    Your code example cannot work because the "session" scope
    doesn't exist until your application scope is defined. So you have
    to handle this manually. Here's how you can get it done. First,
    define your application to the maximum sessiontimeout you want to
    have.
    <CFAPPLICATION NAME="appControl" SESSIONMANAGEMENT="Yes"
    SESSIONTIMEOUT="#CreateTimeSpan(1,0,0,0)#">
    Then, I don't know how you are doing your login
    authentication but when you have authenticated the user, you need
    to define the userid and the most recent activity in the session.
    Also determine your timeout value based on the userid. See example:
    <CFIF IS_AUTHENTICATED>
    <CFSET session.user.uid = form.userid>
    <CFSET session.user.most_recent_activity = now()>
    <CFIF session.user.id eq 1>
    <CFSET session.user.timeout_mins = 20>
    <CFELSE>
    <CFSET session.user.timeout_mins = 1440>
    </CFIF>
    </CFIF>
    Now, all you have to do is check whether the user has been
    idle for too long and kill the session by purging all session
    variables. For example:
    <!--- if user id is defined, this means user is logged in
    --->
    <CFIF structKeyExists(session, "user") and
    structKeyExists(session.user, "id")>
    <!--- check if timeout has expired --->
    <CFIF datediff("n", session.user.most_recent_activity,
    now()) gt session.user.timeout_mins>
    <!--- timeout has expired, kill the session and log the
    user out --->
    <CFSET StructClear(session)>
    <!--- insert your logout code here --->
    <CFELSE>
    <!--- user hasn't timed out, so reset the most recent
    activity to now --->
    <CFSET session.user.most_recent_activity = now()>
    </CFIF>
    </CFIF>

  • Re: [iPlanet-JATO] Re: session timeout when not submitting to a handler

    Mark--
    I know what's happening here, but am curious about your approach. You said
    in an earlier email that you were generating links directly to JSPs, but
    from what you are describing, you are generating JATO-style links to access
    JATO pages. Nothing wrong with that, but there is a signficant difference.
    Actually, it just occurred to me, I'm wondering what your URLs look like.
    The way the request dispatching works in JATO is it ignores anything after
    an initial "." in the final part of the URL path. For example, a request
    for "/myapp/module1/MyPage.jsp" doesn't actually try to hit the JSP, instead
    it tries to hit the JATO page "/myapp/module1/MyPage".
    The end result is that you may think you are accessing a JSP directly, but
    are instead accessing a JATO page. The reason the request dispatching works
    this way is because it is illegal to access JATO JSPs directly, and there is
    actually a (disabled) JATO feature that piggybacks on the use of the
    dot-delimited URL.
    So, now I need to understand your intent. I wasn't really sure why you were
    generating direct JSP/page links to begin with. This works against the Type
    II architecture JATO uses, in which all JATO requests go back to the
    controller servlet.
    If you are trying to design something like a menu page, you may have thought
    that it was burdensome to create a number of HREF children, plus implement
    event handlers for each of them. This definitely would be burdensome beyond
    just a handful of links, but this is why JATO provides other mechanisms for
    doing what I'll call here "polymorphic HREFs".
    Assuming this menu page scenario, the easiest thing to do is to simply use
    one HREF child on the page, and add a value to it each time it is rendered
    that distinguishes it from the other instances on the page. In your event
    handler for the HREF, you simply check this value and use it to decide which
    page to forward to. You can add a value to an HREF or Button by using the
    "addExtraValue()" method. Or, if you are using JATO 1.2, you can add extra
    query string NVPs right in the JSP document using the "queryParams"
    attribute of the <jato:href> tag. Thus, your one HREFchild and event
    handler become "polymorphic" because what they do depends on the context in
    which they are invoked.
    Now, I still don't have confirmation that this is what you were trying to
    do, so until I do, let me explain the exception you're seeing. JATO assumes
    that when a request comes in for a page that includes the pageAttributes
    NVP, it is a request coming from a previously generated JATO page. Because
    of the way JATO works, this means that the request dispatching code should
    send the request back to the originally rendered page. For example, if Page
    A renders an HREF, which the user then activates, JATO sends the request
    back to Page A for handling. All of the HREFs and forms generated during
    rendering of Page A actually refer back to Page A, regardless of where those
    links or buttons actually pass the request in their event handlers/Command
    objects.
    So, what's happening when you include the pageAttributes in your HREFs is
    that JATO is assuming that a request is being sent to the target page, with
    the assumption that the target page has a mechanism in place to handle the
    request. This assumption relies on the specification of the "originator" of
    the request being specified in the request. For links/HREFs, the name and
    value of the HREF is sent along with the request. For forms, the name and
    value of the button that was pressed are sent in the request. JATO uses the
    presence of these name/value pairs to decide which event handler, or which
    Command object, to invoke to handle the request.
    The exception you are receiving is saying that there was no object on the
    target page that indicated it could handle the request. This is to be
    expected, since you have not specified a query parameter that indicates
    which CommandField child is responsible the request. However, this is where
    I see the disconnect, because that is not what I believe you were trying to
    do (as explained above).
    So now, given all the information above, can you tell me what you're trying
    to accomplish, and whether or not the info I've given you has helped you to
    design a mechanism more in line with a JATO approach? If not, given that I
    understand what you're trying to do, I can offer a more concrete solution.
    Todd
    ----- Original Message -----
    From: <Mark_Dubinsky@p...>
    Sent: Monday, November 05, 2001 2:54 PM
    Subject: [iPlanet-JATO] Re: session timeout when not submitting to a handler
    This is the exception we get:
    (And BTW, leaving a blank value for the pageAttributes doesn't help)
    [05/Nov/2001 17:49:18:4] error: <portalServlet.processRequest>
    javax.servlet.ServletException: The request was not be handled by the
    specified handler
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at
    javax.servlet.ServletException.<init>(ServletException.java:107)
    at
    com.putnaminvestments.common.jato.ApplicationServletBase.dispatchRequ
    est(Compiled Code)
    at
    com.putnaminvestments.common.jato.ApplicationServletBase.processReque
    st(Compiled Code)
    at
    com.putnaminvestments.bp.portal.portalServlet.processRequest(Compiled
    Code)
    at
    com.putnaminvestments.common.jato.ApplicationServletBase.doPost(Compi
    led Code)
    at
    com.putnaminvestments.common.jato.ApplicationServletBase.doGet(Compil
    ed Code)
    at javax.servlet.http.HttpServlet.service(Compiled Code)
    at com.putnaminvestments.bp.bpServletBase.service(Compiled
    Code)
    at javax.servlet.http.HttpServlet.service(Compiled Code)
    at
    com.netscape.server.servlet.servletrunner.ServletInfo.service(Compile
    d Code)
    at
    com.netscape.server.servlet.servletrunner.ServletRunner.execute(Compi
    led Code)
    at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
    at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
    at java.lang.Thread.run(Compiled Code)
    --- In iPlanet-JATO@y..., "Todd Fast" <Todd.Fast@S...> wrote:
    Mark--
    Initially we tried to add the pageAttributes NVP as well, but that
    was
    causing an exception, so we stopped doing that.That's odd--what was the exception?
    Our problem now is that when the SessionTimes out it does not go
    to
    onSessionTimeout method as in processRequestMethod of the
    ApplicationServletBase it looks for pageAttributes. If it is notnull
    then only onSessionTimeOut method is called.This is sadly the only technique for determining if a session hastimed out
    and a new one been created, versus the initial creation of thesession.
    Is there any work around for this? Maybe you can suggest how topass
    the pageAttributes without causing the initial exception?Definitely--let me know what the exception was and I'll be able tosuggest
    something. However, it shouldn't really be any harder thanappending a
    "jato.pageAttributes=" empty NVP on the HREF.
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@s...
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    OK, here's what I'm trying to do: We have, like you said, a menu
    page. The pages that it goes to and the number of links are all
    variable and read from the database. In NetD we were able to create
    URLs in the form
    pgXYZ?SPIDERSESSION=abcd
    so this is what I'm trying to replicate here. So the URL that works
    is
    pgContactUs?GXHC_GX_jst=fc7b7e61662d6164&GXHC_gx_session_id_=cc9c6dfa5
    601afa7
    which I interpreted to be the equivalent of the old Netd way. Our
    javascript also loads other frames of the page in the same manner.
    And I believe the URL-rewritten frame sources of a frameset look like
    this too.
    This all worked except for the timeout problem. In theory we could
    rewrite all URLs to go to a handler, but that would be...
    inconvenient.

  • Session Timeout Setting in Business Intelligence Platform 4

    Greetings.  We are using Business Intelligence Platform 4 SP 2.5.  We use LDAP authentication for logging in to the CMC, BI Launchpad, and Lifecycle Management console.  Our sessions expire after 10 minutes (of either activity or inactivity).  I haven't been able to find the setting that controls the timeout.  Does anyone know?
    Thank you in advance,
    Dave

    Hi Dave,
    TO make the change for the timeout we need to navigate to following location:
    1. Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF
    2. Open the web.xml. Search for the "session-timeout" and change the value to as per your requirement.
    3. This change would take effect on both CMC and BI LaunchPad.
    4. Restart the Tomcat.
    At <INSTALLDIR>\Tomcat6\conf\web.xml change 30 to 60:
        <session-config>
            <session-timeout>60</session-timeout>
        </session-config>
    Regards,
    Sonia

  • Session timeout Hyperion Planning 4.0.1

    Hello, <BR><BR>on our clients the planning-session times out after 3 minutes. I have set the session timeout setting for Apache Tomcat 4.1 in the File web.xml to the number 60, but the session already times out after 3 minutes. Can you help me?<BR><BR>Best regards, <BR>Rainer

    This could be a setting on the network/intranet/internet at the client.<BR><BR>Had a similar problem at one of our clients and it was down to a 3 minute timeout on any request over the intranet.<BR><BR>Worth a check with the IT department on it.<BR><BR>Hope this helps.<BR><BR>Andy King<BR>www.analitica.co.uk

  • Session Timeout - Process as a webservice

    Hi ,
    I am using ALBPM v5.7.
    In this we are exposing our process as webservice.
    We are Invoking these webservice methods from portal deployed in BEA Weblogic Server,
    The procedure we are following is , starting the session and then invoking our methods -- method1 and method2.
    But , After invoking method1, In the portal, we are waiting for five minutes and then trying to invoke method2 of BPM using the same session,
    When we do this, It is throwing an exception,
    Invalid Session.
    We observed that if we invoke method2 before five minutes then it is working fine.
    So do we have any session timeout for the BPM Process, when we expose our process as a webservice.
    If so , could you please help me in resolving this issue?
    Thanks & Regards,
    Krishnaveni.

    Just input paramters inside the Begin Activity...
    Right Click on the Process and open Process Web-Service and add a Web-Service to it..
    Then start the engine in Studio..
    And then click on Launch Deployed WebServices Webapp..
    And you would get the endpoint..

  • Session Timeout in weblogic 6.1 SP3-- Urgent

    Hi
    We are currently using weblogic 6.1 SP3 and iPlanet for our application. The session timeout in web.xml is set to 100 mins but the session doesn't timeout, i.e., we can still access the application without being locked out. How can I fix this??
    What is happening is that a new session is being created automatically after the sesion timeout. our application doesn't validate the user.. the authentication is done by some PKI tokens. can that be the reason for this behavior??? If so, how can we fix it??

    What is the heap size ? How many useres are hitting the system ? What is the approx size of the session? Turn on -verbose:gc and monitor the GC activity. Are the sessions really inactive ?
    Make the timeout 30 secs and the InvalidationIntervalSecs to 20 secs and see if it makes a difference.
    If you still have the same results attach the pofiler trace here. A test case would be good too.
    Rakesh Aggarwal wrote:
    We are running a J2EE servlet in Weblogic 6.1 SP3 on Windows NT. The test client to this servlet opens a new Http session on every request.
    The server containing the servlet does not seem to be releasing memory associated with the session. The server eventually runs out of memory due to this. We verified this with a profiler tool. It shows Strings allocated with ServletRequestImpl.getSession() (weblogic.servlet.internal.session.RSID.getID()) not freed. We have set the session invalidation timeout to 1 min using:
    1) session-timeout=1 in web.xml,
    2) TimeoutSecs=60, InvalidationIntervalSecs=60 in weblogic.xml for the web-app containing the servlet.
    We have also tried setting session.setMaxInactiveInterval(60secs) for the servlet. The latter setting does seem to work as verified from a UI client. We are wondering whether weblogic server is not cleaning up the session even after invalidating it.
    We are not saving any reference to the Http session in our servlet. So we would think that the weblogic server should cleanp the inactive session after 1 min according to the above setting.
    Any help regarding this will be sincerely appreciated. Thanks.
    -Rakesh--
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • Idle Timeout & Session Timeout in Wireless LAN Controller

    Hello Team;
                   I am confused with these two values and their working.
    1. Idle Timeout :
        Case 1 : When the client move out of the wireless covergae area or shutdoiwn his laptop, controller will wait for the idle timeout to expire and then the AP sends the disassocciation frames to the client, and if the AP is not getting any acknowledgement , the client entry is deleted from the WLC
       Case 2 : In this case the clients manually disconnect from the SSID. Thatmeans the client is initiating the disassociation request to AP and the controller. In this case since the client is sending the disconnect notification does the controller should wait for the idle timeout to expire or once it receives the disassociation message from the client, it will immediately remove the entry from the controller regardless of the idle timeout value.
    Please confirm
    2. Session Timeout :
             Could you please let me know the difference between these two values. One differenec i know is that idle timeout is globally and the session timeout is specific to the SSID. Other than this is there any functionality difference between these two?
    Thanks & Regards
    Sreejith R

    Session timeout is a value that forces a re-auth when the timer expires. This value starts copying down when the client is authenticated. Idle timer is also a hard timer and it removes the client from the WLC after this timer expires. So if a user powers down his or he laptop or a device goes to sleep and doesn't respond to the AP, this timer starts counting down. When the value expires, then the next time that client associates, he or she will have to perform a full authentication. This is however if you not using open encryption and nothing else.
    You will be able to see the values decrement inf when you look at the client status on the WLC. In the monitor tab and clients.
    Sent from Cisco Technical Support iPhone App

  • Session timeout and Custon login module

    Hi,
    Dev Platform: Jdev 10.1.3.4.0, Oracle 10.2.4
    I'm trying to trap the session timeout and display a page. I'm using the code below from Frank Nimphius. I've also provided a console log of what is happening when the application times out. Instead of the filter being called the system is calling the dblogin module and attempting to login the anonymous user. I renamed the anonymous user and I just see log entries where the system attempted to find the anonymous user.
    If I use the application to logout I get a Logout page with a button to confirm the logout. When I press the button the session is invalidated and the filter code brings up my "Session Timeout" notification page. This isn't what will happen in the end but I just wanted to tell you that the filter does work in certain instances.
    How can I make the system not attempt to login the anonymous user and have the filter code run?
    TIA, Dave
    package isdbs.view.security;
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class ApplicationSessionExpiryFilter implements Filter {
        private FilterConfig _filterConfig = null;
        public void init(FilterConfig filterConfig) throws ServletException {
            _filterConfig = filterConfig;
        public void destroy() {
            _filterConfig = null;
        public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain) throws IOException, ServletException {
            String requestedSession =   ((HttpServletRequest)request).getRequestedSessionId();
            String currentWebSession =  ((HttpServletRequest)request).getSession().getId();
            boolean sessionOk = currentWebSession.equalsIgnoreCase(requestedSession);
            // if the requested session is null then this is the first application
            // request and "false" is acceptable
            if (!sessionOk && requestedSession != null){
                // the session has expired or renewed. Redirect request
                ((HttpServletResponse) response).sendRedirect(_filterConfig.getInitParameter("SessionTimeoutRedirect"));
            else{
                chain.doFilter(request, response);
    }Mar 30, 2009 9:38:04 AM oracle.security.jazn.oc4j.RealmUserAdaptor isMemberOf
    FINE: JAAS-OC4J: Membership check for group: ISDBS_USER failed for user: anonymous
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option debug = true
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option log level = log all
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option logger class = null
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option data_source_name = jdbc/elearnDS
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option user table = TBL_LOGIN
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option roles table = XREF_LOGIN_ROLE
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option username column = LOGIN_NM
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option password column = PASSWORD
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option roles column = ROLE_NM
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option user pk column = LOGIN_NM
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option roles fk column = LOGIN_NM
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option password encoding class = oracle.sample.dbloginmodule.util.DBLoginModuleClearTextEncoder
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option realm_column = null
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] option application_realm = null
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] login called on DBTableLoginModule
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] Calling callbackhandler ...
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] Username returned by callback = null
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] User query string: select LOGIN_NM,PASSWORD, LOGIN_ATTEMPTS, ACTIVE_IND from TBL_LOGIN where lower(LOGIN_NM)= lower((?))
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] Logon Successful = false
    09/03/30 09:38:04 [DBTableOraDatasourceLoginModule] Abort called on LoginModule
    Mar 30, 2009 9:38:04 AM oracle.security.jazn.oc4j.OC4JUtil doJAASLogin
    WARNING: Login Failure: all modules ignored
    javax.security.auth.login.LoginException: Login Failure: all modules ignored
         at javax.security.auth.login.LoginContext.invoke(LoginContext.java:921)
         at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
         at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
         at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
         at oracle.security.jazn.oc4j.OC4JUtil.doJAASLogin(OC4JUtil.java:241)
         at oracle.security.jazn.oc4j.GenericUser$1.run(JAZNUserManager.java:818)
         at oracle.security.jazn.oc4j.OC4JUtil.doWithJAZNClsLdr(OC4JUtil.java:173)
         at oracle.security.jazn.oc4j.GenericUser.authenticate(JAZNUserManager.java:814)
         at oracle.security.jazn.oc4j.FilterUser.authenticate(JAZNUserManager.java:1143)
         at com.evermind.server.http.EvermindHttpServletRequest.checkAndSetRemoteUser(EvermindHttpServletRequest.java:3760)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:706)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Mar 30, 2009 9:38:04 AM oracle.security.jazn.oc4j.GenericUser authenticate
    FINE: JAAS-OC4J: Authentication failure for user: null
    Mar 30, 2009 9:38:04 AM oracle.security.jazn.oc4j.RealmUserAdaptor isMemberOf
    FINE: JAAS-OC4J: Membership check for group: ISDBS_USER failed for user: anonymous

    I added an HttpSessionListener upon login here's what I get:
    09/03/31 08:21:25 Inside sessionCreated
    09/03/31 08:21:25 Before New session createb = 0
    09/03/31 08:21:25 Created session id: 854b4b95cf28ceb065d0489a31ee79c19feabb80716f6d828b77fc7044b210bf
    09/03/31 08:21:25 After New session count = 1
    At session timeout here's what I get:
    09/03/31 08:23:27 Count before destroyed = 1
    09/03/31 08:23:27 Destroyed session id: 854b4b95cf28ceb065d0489a31ee79c19feabb80716f6d828b77fc7044b210bf
    09/03/31 08:23:27 Count after destroyed = 0
    09/03/31 08:23:27 Inside sessionCreated
    09/03/31 08:23:27 Before New session createb = 0
    09/03/31 08:23:27 Created session id: 854b4b95cf28ceb065d0489a31ee79c19feabb80716f6d828b77fc7044b210bf
    09/03/31 08:23:27 After New session count = 1
    Notice that the session Id in each case is IDENTICAL. That is why the Filter code isn't doing what it is intended to do. Whay is the same session ID being created after it is destroyed? Is there a configuration parameter that controls it?
    Thanks,
    Dave

  • Session Timeout and Dynamic Actions

    Did anybody ever use the Session Timeout feature in APEX successfully?
    I have set an idle session timeout and provided an url to redirect to once the session is expired: Home > Application Builder > Application nnn > Shared Components > Edit Security Attributes > Session Timeout
    It works so far during the page rendering and page processing phase. But I have major problems with dynamic actions and custom ajax requests.
    Dynamic actions will just hang and simply don't return. Even worse, when I execute the dynamic action once the session is expired, the session seems to be physically deleted and thus the next click on a tab will not redirect to the expiration page but go straight to the login page.
    Did anybody make it work or is the best way to implement a custom session timeout?
    Thanks,
    Dietmar.

    Hi All,
    Check out the Session Timeout plug-in available here:
    http://skillbuilders.com/plugins
    Let me know if that helps.
    Regards,
    Dan
    blog: http://DanielMcghan.us/
    work: http://SkillBuilders.com/APEX/

Maybe you are looking for

  • Collect one sample at a time.

    This seems like it ought to be incredibly simple, but I am brand new to labview... I am acquiring data at a given rate (between 10 and 100 Hz) for the purpose of the read outs in my vi. What I would like to do is set up the DAQ and the experiement an

  • Wrong Plant in the follow on document(PO) of SC in SRM

    Hi Experts, I need urgent input for this issue, We have SRM 7.0 and ECC 6.0 EHP5 with Classic scenario, We have created FO SC in SRM for the Plant A, After creating PO through SOCO, PO has wrong plant with the same company code, This issue is only in

  • IPhoto 09 Keyword problems.

    Hello, I have my images organized with Adobe Lightroom 2, i have added to them keywords, ratings and labels. The problem that i have with iPhoto is that after importing the images to iPhoto some pictures dont have any keywords. I check with Adobe Lig

  • Is it possible to define a range for JProgressBar ??

    I want to set a range on JProgressBar. Let's say I want to set red color for "30%" of progress bar to "70%" of progress bar. If i do: JProgressBar progressBar= new JProgressBar(JProgressBar.HORIZONTAL);           progressBar.setBackground(Color.yello

  • App-v 4.6: Internet explorer application sequenced, when Internet Explorer is started, application does not launch

    Hi, We have this app-v application which contains an activex component in Internet explorer. I created a shortcut on Q:\application to Internet Explorer during sequencing what works fine. The App-v application works fine as long as no Internet Explor