Javadoc from Session # replaceSession() says : Call() upon login to protect 
against session fixation.

Until Wicket version 6.21 the destroy method did not set the session id to null.
In 6.23, Session # destroy() set session#id to null, this is why Login Page is 
loaded.

Hope this helps

François



> Le 31 août 2016 à 16:21, durairaj t <durairaj....@gmail.com> a écrit :
> 
> Thank you for your quick response.
> 
> *Session:* 30 minutes.
> 
> *Html Header:*
> 
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
> http://www.w3.org/TR/html4/loose.dtd";>
> <html xmlns:wicket="http://wicket.apache.org";>
> 
> <head>
>    <link rel="SHORTCUT ICON" href="images/favicon.ico" type="image/ico" />
> 
>    <meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
>    <meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">
> 
>    <title>
>        <wicket:message key="appname" /> -
>        <div wicket:id="titlelable"> </div> -
>        <wicket:message key="pagename" />
>    </title>
>    <link rel="stylesheet" type="text/css" href="theme/Master.css">
>    <link rel="stylesheet" type="text/css" href="theme/pageBlocking.css">
>    <link type="text/css" rel="stylesheet" href="Calendar/css/jscal2.css" />
>    <link type="text/css" rel="stylesheet"
> href="Calendar/css/border-radius.css" />
>    <link id="skin-steel" title="Gold" type="text/css" rel="stylesheet"
> href="Calendar/css/steel/steel.css" />
>    <script src="Calendar/js/jscal2.js"></script>
>    <script src="Calendar/js/lang/en.js"></script>
> 
>    <script type="text/javascript"
> src="javascripts/pageBlocking.js"></script>
>    <script type="text/javascript"
> src="javascripts/aim-hrs-autocomplete.js"></script>
>    <script type="text/javascript" src="javascripts/aim_util.js"></script>
>    <script type="text/javascript" src="javascripts/mvl.js"></script>
>    <script type="text/javascript" src="javascripts/masks.js"></script>
>    <script type="text/javascript" src="javascripts/yetii.js"></script>
>    <script language="JavaScript"
> src="jspspellcheck/spellcheck-caller.js"></script>
> 
> 
> 
>    <script language="javascript" type="text/javascript">
>        //credit: http://psacake.com/web/js.asp
>        function imposeMaxLength(Object, evt, MaxLen) {
>            var e = window.event ? event.keyCode : evt.which
>            if (e == 8 || e == 46 || (e >= 37 && e <= 40)) return true;
> //bs, del, arrows
>            return (Object.value.length <= MaxLen);
>        }
>    </script>
> 
>    <!--
> <style type="text/css">
> input:focus,textarea:focus {
> background-color: lightyellow;
> }
> </style>
> -->
> 
>    <style>
>        div.wicket-aa {
>            font-family: sans-serif;
>            font-size: 12px;
>            background-color: white;
>            border-width: 2px;
>            border-color: gray;
>            border-style: solid;
>            padding: 2px;
>            margin: 1px 0 0 0;
>            text-align: left;
>            width: 120px;
>        }
> 
>        div.wicket-aa ul {
>            list-style: none;
>            padding: 2px;
>            margin: 0;
>            width: 100px;
>        }
> 
>        div.wicket-aa ul li.selected {
>            background-color: #DEEFF7;
>            padding: 2px;
>            margin: 0;
>            width: 100px;
>        }
> 
>        div.imxt-vista tr.imxt-grid-row:hover td.imxt-cell,
>        div.imxt-vista tr.imxt-grid-row:hover td.imxt-sorted {}
>    </style>
> 
> 
> </head>
> 
> 
> *Java Code:*
> 
> 
> 
> String timeout= "1750000";
> if(AppSession.getObjAimShell() != null &&
> AppSession.getObjAimShell().getTimeoutLimit() !=null)
> timeout = "" + ((AppSession.getObjAimShell().getTimeoutLimit() * 0.9)*1000);
> final Model<String> sessionTimeoutInterval = new Model<String>(timeout);
> HiddenField sessionTimeoutIntervalField = new
> HiddenField("sessionTimeoutInterval", sessionTimeoutInterval) ;
> sessionTimeoutIntervalField.setOutputMarkupId(true);
> sessionTimeoutIntervalField.setMarkupId("sessionTimeoutInterval");
> add(sessionTimeoutIntervalField);
> 
> 
> *Java Script:*
> var sessionPingTime = 1750000;
> var sessionTimerId = null;
> 
> function resetSessionTimer() {
> try{
> if(document.getElementById('sessionTimeoutInterval')) {
> sessionPingTime = document.getElementById('sessionTimeoutInterval').value;
> }
> if(parent) {
> parent.clearTimeout(parent.sessionTimerId);
> parent.sessionTimerId = null;
> parent.sessionTimerId = parent.setTimeout("windowCloseSignOff();",
> sessionPingTime);
> }else {
> clearTimeout(parent.sessionTimerId);
> sessionTimerId = null;
> sessionTimerId = setTimeout("windowCloseSignOff();", sessionPingTime);
> }
> }catch(c){showScriptError(c, 'resetSessionTimer');}
> }
> 
> 
> On Wed, Aug 31, 2016 at 10:05 AM, Francois Meillet <
> francois.meil...@gmail.com> wrote:
> 
>> Hi,
>> 
>> What is the session-timeout ?
>> Can you show the html page header ? and any java code that modify it.
>> 
>> François
>> 
>> 
>> 
>>> Le 31 août 2016 à 15:49, durairaj t <durairaj....@gmail.com> a écrit :
>>> 
>>> I'm migrating to wicket 6.23, createPage()  is working as expected in
>> many
>>> modules, but not in the below scenario.
>>> 
>>> 
>>> There is a search modal window in the application, which is used to
>> search
>>> data and keep the entire Page in session to retrieve the data back from
>> the
>>> session (for the Back button functionality).
>>> 
>>> *Issue:*
>>> 
>>> The search window is just working for 10 to 15 minutes as expected and
>> then
>>> loading Login Page suddenly.
>>> 
>>> In debug: (I verified the below in the eclipse debugging mode)
>>> 
>>> 1. Returning page from session
>>> 2. Page from session is *NOT *null.
>>> 3. Session ID is *NOT *modified anywhere in the application.
>>> 4. It is just happening only in the search window until I'm clearing the
>>> Search Page object (SrcPage) . But application is not asking me to
>> re-login
>>> once it happened.
>>> 
>>> *Code snippet:*
>>> 
>>>             public Page createPage() {
>>> return AppSession.getObjAppShell().getSrcPage();
>>> });
>>> 
>>> 
>>> *Reproducing Issue:*
>>> 
>>> I can reproduce the issue by replacing the session in the createPage()
>>> block, but I'm not sure whether the problem is session or something else.
>>> 
>>> Example;
>>> 
>>> public Page createPage() {
>>> Session.get().replaceSession();// used to reproduce the issue.
>>>                                       return
>>> AppSession.getObjAppShell().getSrcPage();
>>> });
>>> 
>>> 
>>> *Any help?*
>>> 
>>> 
>>> 
>>> 
>>> Thank you.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to