Which seeded page is called when session timeout happens

Hi All,
Our requirement is to route to custom page when session timeout happens. We are working on R11.
Any suggestions which seeded JSP/JAVA file is called when we try to access application after session time out ?
How to route to custom page when session timeout happens ?
Thanks in advance.
Regards,
S.K.

Hi Sk;
Please check below and see its helpful for your issue,similar topic discussed before here,
EBS connection time out
Re: ICX : Session Timeout
Forms session timeout
Also check:
http://www.solutionbeacon.com/best7.htm
Hope it helps
Regard
Helios

Similar Messages

  • Generating error page(in jsp) when session expires....

    hello,
    i want to generate error page(in jsp) when session get expires...
    plz help me out.............

    You could do it according to the line BalusC supplied in another topic:
    <meta http-equiv="refresh" content="<%= session.getMaxInactiveInterval() %>;url=login.jsp">The only thing you gotta change, is the URL, make it:
    <meta http-equiv="refresh" content="<%= session.getMaxInactiveInterval() %>;url=error.jsp">Create 'error.jsp' and have the message 'Session expired, sorry!' or something printed. If you want to use error.jsp for more than just the session expiration, add a parameter to it:
    <meta http-equiv="refresh" content="<%= session.getMaxInactiveInterval() %>;url=error.jsp?error=sessionexpired"> Place the following lines in your error.jsp:
    String errormessage = request.getParameter("error");
    if(errormessage.equals("sessionexpired")){
    out.println("Your session has expired, sorry!");
    }else if(errormessage.equals("whatever")){
    // To do code here.
    }

  • How can i redirect a page to Login screen when sessionis timeout???

    I have a problem in my portal development.
    I set the "<b>Session timeout= 01</b>" parameter in the<b> Visual Administrator</b>
    server_0 > services > Web Container
            Runtime > sap.com/irj  > irj    (view button)
    However, when the session is timeout then the page become to be "red"!!! That is, there is an Exception. I'd like to redirect the page to the "Login screen", but I don't know how. <b>Does anybody know how can I do it</b>?
    Thanks in advance.

    Hi,
        the http session invalidation must be checked at application level  do it DYNPAGE only .you can call the following method.
    public void expireSession(IPortalComponentRequest request)
              long lastAccessedTime=request.getServletRequest().getSession().getLastAccessedTime();
              Date currentDate = new Date();
              Calendar currentDateCal = new GregorianCalendar();
              currentDateCal.setTime(currentDate);
              long systemTime = currentDateCal.getTimeInMillis();          
              long sessionExpiryTime = systemTime - lastAccessedTime;
              long sessionExpiryTimeProp = 600000; //dont hard code.get from property file
              if(sessionExpiryTime >= sessionExpiryTimeProp)
                   try
                       IPortalComponentResponse response=(IPortalComponentResponse)this.getResponse();                    
                        String sessionExpiryPage ="/irj/servlet/prt/portal/prtroot/com.sap.portal.masthead.LogOutComponent?logout_submit=true";                    
                        response.write ("<script language="javascript">");
                        response.write("parent.window.location.replace('"+sessionExpiryPage+"','','toolbar:No,status: No,location: N0');");
                        response.write("</script>");
                   }catch(Exception e)     

  • Which method will be called, when invoking home.create() ?

    Hi,
    In a Stateless session Bean, I want initialize some variables, whenever a bean is created or retrieved from the pool. So I used the ejbCreate() method to initialize the variables, but it is called only first time when I call the home.create(). If I call the home.create() method next time it doesn't call the ejbCreate().
    Which method will be called, whenever I call home.create();.

    hi siva,
    first of all Ejbcontainers maintain a pool of stateless sessionbeans .when you call home.create() the ejbCreate () method is definitely called and you said you are initializing some variable and may be you are trying to retrive that value after home.create() method.. when you try to retrive the value thee value may be same as you have initialized or different depending upon the no of stateless session beans in the container. you have created a bean and there is no guarantee that the same bean will be called when you invoke retrieval method..
    i hope you understood.
    cheers

  • Session timeout happening every 2 2-3 hours

    Hi All,
    We are having one requirement that our dedicated session to Oracle Database 10g (10.2.0.5) should not get timeout, but it is getting timeout after 2-3 hours of idle time with connection lost contact error. We have checked that oracle user which connect to database is having profile (dba_profiles) which have idle time as "UNLIMITED" , apart from that also we have checked sqlnet.ora, this file is blank. Could you plz suggest that after these setting also why connection is getting timeout. We are connecting by pl-sql developer, toad session and sqlplus and we are getting same result.
    Any suggestion is welcome.
    Thanks

    The issue might be caused by a network timeout, caused by exceeding the tcp_keep_alive time and/or by the general timeout for terminal sessions which exist in most Unix platforms.
    As you don't specify any details as to what you are doing, on what platform you are, and where the session is running, there might be better solutions (like running stuff in batch, or in the background), but we are not at your desk, so no advice is possible.
    Sybrand Bakker
    Senior Oracle DBA

  • In APEX clicking the hyper link doesn't trigger session timeout page

    Hi All,
    I have a question about the session time out in APEX application. I have created a simple APEX application. In the SQL report region section, i have code like this:
    SELECT DOC_Name, DOC_URL,
    '<a href="' || DOC_URL || ' target="_blank"/">Download file</a>' pdf_link
    FROM test_table
    where emp_number =00010001
    When user clicks on the hyper link, it will display the destination page to user(for example if DOC_URL = 'http://forums.oracle.com', it will display the oracle forum page in a new browser).
    But the issue is that, after user's session timeout (I set for 240 seconds through Shared Components>Edit Security Attributes, i set max the session timeout for example 240 seconds), when i click on this hyperlink, it doesn't trigger my session timeout page and it still displays the page (oracle forum page).
    Why in APEX clicking the hyper link doesn't trigger session timeout page after the user session timeout???
    how to implememt or fix to trigger the session timeout page after clicking on the hyperlinks?
    (BTW, our APEX version is 3.2)
    Thanks!

    Hi Lily,
    the reason for that behavior is that APEX is not involved anymore if you click on an external link. That's completely handled by your browser.
    To involve APEX timeout handling you could redirect to a specific page in your application which performs the final redirect.
    For example:
    1) Create a new page 999
    2) Create hidden page item P999_URL
    3) Create a before header PL/SQL process with the following source
    owa_util.redirect_url('http://'||:P999_URL);
    apex_application.g_unrecoverable_error := TRUE;If you want to embed a link, create a link to page 999 and set the page item P999_URL to forums.oracle.com
    You could also add a white list into the above code to verify that you are just redirecting to valid URLs, so that nobody is using your trusted application URL for phishing attacks.
    Hope that gives you a direction
    Patrick
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Webcenter Spaces internal error page and session timeout page customization

    Hi
    On what basis is an internal error page shown in webcenter spaces? What triggers it?
    Is it possible to customize the internal error page that shows up on webcenter spaces?
    Or atleast redirect to a custom error page on any exception occured?
    Is there any other way to handle it?
    Also, how to customize the session timeout page? Is it possible?
    There seems to be a servlet being called for session timeout display i dont see any page being redirected to.
    Environment details: Webcenter Spaces 11.1.1.6
    Help needed on this asap please.
    Thanks

    Hi,
    I was experiencing the same problem with customizing the session timeout page. I found out that you can set a custom webcenter attribute in the webcenter-config.xml called "wcSessionTimeoutURL" which overrides the default servlet response and redirects the the specified path.
    In my example, I created a business role page, set it to be publically accessible, then used the Red Samurai MDS Cleaner taskflow to modify the custom attributes in webcenter-config.xml in the following way:
    <webcenter:custom-attributes>
    <attribute name="wcSessionTimeoutPeriod">
    <description/>
    <type>java.lang.String</type>
    <value>45</value>
    <visible/>
    </attribute>
    *<attribute name="wcSessionTimeoutURL">*
    *<description/>*
    *<type>java.lang.String</type>*
    *<value>/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/Page1.jspx</value>*
    *<visible/>*
    *</attribute>*
    </webcenter:custom-attributes>
    Hope that helps!

  • How can I interrupt the blocking call when call timeout?

    Hi,Guys
    I wrote an application server(daemon process) to talk with oracle server
    continuous which used oracle9 OCCI lib, each 5 min it executes the procedure
    on the DB server.
    Now I have come cross a problem:
    If the network is blocked, app server will blocked at occi call and would
    never pass, and no exception was catched :-(
    for e.g.
    1. Oracle server reboot without shutdown oracle process
    2. udp broadcast message storm blocked the connection between app server and
    oracle DB.
    I consider maybe it's because OCCI using the blocking mode of connection
    that caused this problem.
    How can I interrupt the blocking call when call timeout?

    Manage the timeout using a separate thread. When the timeout happens, issue a break on the OCCI connection. There is no direct way as of now. You need to do this to break a OCCI connection.
    retrieve the OCI handle from the OCCI handle (e.g. using Connection::getOCIServer or Connection::getOCIServiceContext methods) and issue a OCIBreak on it. Do not forget to allocate a error handle which should be passed to OCIBreak call.

  • Portal session timeout judge

    Hi everybody,
    I have a question about portal session timeout. Now we have a javascript for session timeout in Masthead iview, which can increase the time for the active user. It uses EPCM to rase the event. But our page has four iveiws, and there is a iview form that use the javascript to submit the request, and don't refresh the whole page, so it can't call our session timeout javascript to increase the time.
    Whether we can call the javascript from other iviews? Or do we have other ways to do the session timeout judge and increase the time by user's activity in sap portal ?
    Thanks

    Hi,
    Try to subscribe to EPCM events on all navigations in your code, which will in turn update the timer
        EPCM.subscribeEvent("urn:com.sapportals:navigation", "Navigate", pop);
        EPCM.subscribeEvent("urn:com.foo.bar.myapp", "myEvent", pop);
    You can also call the update timer method (in masthead) from your I view form code using AJAX, which will be more simpler.
    Regards,
    Santhosh

  • Popu window before session timeout

    I am trying to display a session expiration message first when the session times out before.
    I have write some code -
    SessionListener.java - in which we create xml file when session is created and deleted when session is destroyed,. A structure of xml file -
    <root>
    <username>test</username>
    <lastAcessTime>1185598316541</lastAcessTime><!-- updated when session is updated -->
    <currentTime>1185598316541</currentTime> <!-- updated when session is not updated -->
    </root>
    SessionTimeout.js - in which we load xml file in every 5 sec .
    Check -
    if (currentTime-lastAcessTime) > sessionWarningTime then
    we popup new window with message (refresh session)

    Use the Javascript setTimeout() function in combination with HttpSession#getMaxInactiveInterval().

  • Discoverer Plus - Kills the browser with error msg for session timeout

    If left idle for more than few minutes, Discoverer Plus instance will kill itself with an error.
    i guess it kills the IE browser instance with an error message when Session Timeout occurs. The problem is I have to re-login in a new IE browser.
    Is this normal behavious, or a bug. Any workaround to stop this happen. Please can someone help me, we are going on for a production rollover very soon.
    I appreciate your help.
    Regards, B

    B,
    The pref.txt file has session time out parameter that can be controlled. You can increase the time out value.
    Regards

  • Which script is called when click "edit page" option from SharePoint gear icon?

    HI All,
    Which script is called when click "edit page" option from SharePoint gear icon?

    Hi,
    By inspecting the “Edit” button in the ribbon using IE Developer(F12), we can see that there is a function “CoreInvoke” in the click event of this button.
    By default, the “CoreInvoke” is defined in
    Init.js file which locates in 15 hive.
    Best regards
    Patrick Liang
    TechNet Community Support

  • Session Timeout directly taking to login page

    Hi,
    In our application when session time out happens, it is directly taking to login page, instead of showing the time out error message . We have a CustomExceptionHandler defined in our application. When I debugged, I identified that the following error message
    <StateManagerImpl><restoreView> Could not find saved view state for token -ppfn0o4n8 (*ADF_FACES-30107)*
    comes when user clicks login the second time.
    We want to know how to get the error message first before it goes to the login page? Any configuration we are missing?
    Here is our applications web.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <description>Empty web.xml file for Web Application</description>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <context-param>
    <param-name>jndiContext</param-name>
    <param-value>inv</param-value>
    </context-param>
    <context-param>
    <param-name>UserEnvironmentName</param-name>
    <param-value>UserEnvironment</param-value>
    </context-param>
    <context-param>
    <param-name>CacheConfigureFile</param-name>
    <param-value>inv-cache.xml</param-value>
    </context-param>
    <context-param>
    <param-name>SecurityRepositoryClass</param-name>
    <param-value>oracle.communications.inventory.api.framework.security.impl.SecurityRepositoryImpl</param-value>
    </context-param>
    <context-param>
    <description>Whether the 'Generated by...' comment at the bottom of ADF Faces HTML pages should contain version number information.</description>
    <param-name>oracle.adf.view.rich.versionString.HIDDEN</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>oracle.adfinternal.view.rich.libraryPartitioning.ENABLED</param-name>
    <param-value>true</param-value>
    </context-param>
    <context-param>
    <param-name>ilog.views.faces.CONTROLLER_PATH</param-name>
    <param-value>/_contr</param-value>
    </context-param>
    <context-param>
    <param-name>ilog.views.faces.CONTENT_LENGTH_ENABLED</param-name>
    <param-value>true</param-value>
    </context-param>
    <context-param>
    <description>If this parameter is true, there will be an automatic check of the modification date of your JSPs, and saved state will be discarded when JSP's change. It will also automatically check if your skinning css files have changed without you having to restart the server. This makes development easier, but adds overhead. For this reason this parameter should be set to false when your application is deployed.</description>
    <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>APPLICATION_NAME</param-name>
    <param-value>Unified Inventory Management</param-value>
    </context-param>
    <context-param>
    <param-name>COPYRIGHT_FROM_YEAR</param-name>
    <param-value>2007</param-value>
    </context-param>
    <context-param>
    <param-name>COPYRIGHT_TO_YEAR</param-name>
    <param-value>2011</param-value>
    </context-param>
    <context-param>
    <!-- Maximum memory per request (in bytes) -->
    <param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY</param-name>
    <!-- Use 500K -->
    <param-value>512000</param-value>
    </context-param>
    <context-param>
    <!-- Maximum disk space per request (in bytes) -->
    <param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE</param-name>
    <!-- Use 100M -->
    <param-value>104857600</param-value>
    </context-param>
    <filter>
    <filter-name>trinidad</filter-name>
    <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>trinidad</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <listener>
    <listener-class>oracle.communications.inventory.api.framework.listener.ContextListener</listener-class>
    </listener>
    <listener>
    <listener-class>oracle.communications.inventory.ui.framework.IlogContextListener</listener-class>
    </listener>
    <!-- Cartridge Installer servlet for post re-deploy -->
    <listener>
    <listener-class>
    oracle.communications.inventory.cartridge.deploy.CartridgeInstallerServletContextListener
    </listener-class>
    </listener>
    <persistence-context-ref>
    <persistence-context-ref-name>persistence/EntityManager</persistence-context-ref-name>
    <persistence-unit-name>default</persistence-unit-name>
    </persistence-context-ref>
    <listener>
    <listener-class>oracle.adf.mbean.share.connection.ADFConnectionLifeCycleCallBack</listener-class>
    </listener>
    <listener>
    <listener-class>oracle.adf.mbean.share.config.ADFConfigLifeCycleCallBack</listener-class>
    </listener>
    <servlet>
    <servlet-name>BIGRAPHSERVLET</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.graph.GraphServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>BIGAUGESERVLET</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.gauge.GaugeServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>MapProxyServlet</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.geoMap.servlet.MapProxyServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>GatewayServlet</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.graph.FlashBridgeServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>media</servlet-name>
    <servlet-class>oracle.communications.inventory.ui.media.servlet.MediaServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>BIGRAPHSERVLET</servlet-name>
    <url-pattern>/servlet/GraphServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>BIGAUGESERVLET</servlet-name>
    <url-pattern>/servlet/GaugeServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>MapProxyServlet</servlet-name>
    <url-pattern>/mapproxy/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/bi/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>GatewayServlet</servlet-name>
    <url-pattern>/flashbridge/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>media</servlet-name>
    <url-pattern>/media_image</url-pattern>
    </servlet-mapping>
    <resource-ref>
    <res-ref-name>wm/ruleWorkManager</res-ref-name>
    <res-type>commonj.work.WorkManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
    </resource-ref>
    <filter>
    <filter-name>JpsFilter</filter-name>
    <filter-class>oracle.security.jps.ee.http.JpsFilter</filter-class>
    <init-param>
    <param-name>enable.anonymous</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <param-name>remove.anonymous.role</param-name>
    <param-value>false</param-value>
    </init-param>
    <init-param>
    <param-name>addAllRoles</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <param-name>jaas.mode</param-name>
    <param-value>doasprivileged</param-value>
    </init-param>
    </filter>
    <filter>
    <filter-name>ADFLibraryFilter</filter-name>
    <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
    </filter>
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>JpsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFLibraryFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>adflibResources</servlet-name>
    <servlet-class>oracle.adf.library.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>adfAuthentication</servlet-name>
    <servlet-class>oracle.adf.share.security.authentication.AuthenticationServlet</servlet-class>
    <init-param>
    <param-name>success_url</param-name>
    <param-value>/faces/InventoryUIShell</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>Controller</servlet-name>
    <servlet-class>ilog.views.faces.IlvFacesController</servlet-class>
    <load-on-startup>3</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/afr/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>adflibResources</servlet-name>
    <url-pattern>/adflib/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>adfAuthentication</servlet-name>
    <url-pattern>/adfAuthentication</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Controller</servlet-name>
    <url-pattern>/_contr/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <jsp-config>
    <jsp-property-group>
    <url-pattern>*.jsff</url-pattern>
    <is-xml>true</is-xml>
    </jsp-property-group>
    </jsp-config>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>allPages</web-resource-name>
    <url-pattern>/</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>valid-users</role-name>
    </auth-constraint>
    </security-constraint>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Unsecured resources</web-resource-name>
    <url-pattern>/images/</url-pattern>
    <url-pattern>*.png</url-pattern>
    <url-pattern>*.gif</url-pattern>
    <url-pattern>*.jpg</url-pattern>
    <url-pattern>*.jpeg</url-pattern>
    <url-pattern>*.bmp</url-pattern>
    <url-pattern>*.css</url-pattern>
    <url-pattern>*.js</url-pattern>
    <url-pattern>/css/*</url-pattern>
    <url-pattern>/afr/blank.html</url-pattern>
    </web-resource-collection>
    </security-constraint>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>adfAuthentication</web-resource-name>
    <url-pattern>/adfAuthentication</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>valid-users</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
    <form-login-page>/faces/login.jspx</form-login-page>
    <form-error-page>/faces/error.jspx</form-error-page>
    </form-login-config>
    </login-config>
    <security-role>
    <role-name>valid-users</role-name>
    </security-role>
    <welcome-file-list>
    <welcome-file>/faces/InventoryUIShell</welcome-file>
    </welcome-file-list>
    </web-app>

    hi
    this can be done using a simple "Servlet Filters" which will check whether the user session is valid or not. so for every connect to the server the filter runs and redirects to the login page if the session has expired. here you can configure your filter to be activated for every URL or a patterns of urls.
    u need servlet2.3 supported server for this.
    hope this helps
    shrini
    I have an business j2ee application run on oc4j. When the session timeout declared on the web.xml expire, i want to redirect automaticaly the user to my login.jsp to force him to reconnect. I try j_security_chek, but i want to restart the business application at the top and not to the page which are request. Somebody know who i can do this mechanism. I try too special tag in jsp, this run very good but i have to repeate this call on every page. I look for an other simply mechanism to that
    Thanks

  • 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 timeouts for login page with in a html frame

    Hi, i have a login page which when the session times out gets redisplayed within the frame of the html page where the session timed out , i have tried setting the session timeouts to be less than the other application so that the login page will timeout before the documentum application but this does not make a difference.
    does any one know how i could get the login page to redisplay by itself, outside of the html frame. do i need to have some javascript to figure out if there is a frame then redraw the page etc...and how should i di this ? any working examples will be appreciated.

    You would certainly need some Javascript or use the meta-refresh tag to the session timeout time. If you set the meta-refresh tag in a frame to a time just a little bit bigger than the session timeout time and the set your security mechanisms to force the user to login in again when the session times out, the frame will refresh after the session has timed out and the application should forward the frame to the login page.
    <meta http-equiv="refresh" content="session-timeout-timeout+1">
    (timeout time is in seconds)

Maybe you are looking for