diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-03 12:11:29 +0200 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-03 12:11:29 +0200 |
commit | b0f09b21746380c80b738a051f313caf0b0b684d (patch) | |
tree | 01b929993b73bdaf0c93b90a5971be97385599f5 /id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java | |
parent | 173b6db7d9ed8c1115ec634de68b7a9d8f70f812 (diff) | |
download | moa-id-spss-b0f09b21746380c80b738a051f313caf0b0b684d.tar.gz moa-id-spss-b0f09b21746380c80b738a051f313caf0b0b684d.tar.bz2 moa-id-spss-b0f09b21746380c80b738a051f313caf0b0b684d.zip |
Code CleanUP and change to consisted Version numbers
Diffstat (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java')
-rw-r--r-- | id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java index f07022394..3bf213290 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java @@ -2,7 +2,10 @@ package at.gv.egovernment.moa.id.configuration.struts.action; import java.util.ArrayList; import java.util.Date; +import java.util.Enumeration; +import java.util.HashMap; import java.util.List; +import java.util.Map.Entry; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -75,7 +78,7 @@ public class IndexAction extends ActionSupport implements ServletRequestAware, private static final Logger log = Logger.getLogger(IndexAction.class); private HttpServletRequest request; - private HttpServletResponse response; +// private HttpServletResponse response; private String password; private String username; @@ -177,7 +180,10 @@ public class IndexAction extends ActionSupport implements ServletRequestAware, finally { ConfigurationDBUtils.closeSession(); } - request.getSession().setAttribute(Constants.SESSION_AUTH, authuser); + + HttpSession session = generateNewJSession(request); + session.setAttribute(Constants.SESSION_AUTH, authuser); + return Constants.STRUTS_SUCCESS; } } @@ -412,7 +418,9 @@ public class IndexAction extends ActionSupport implements ServletRequestAware, finally { ConfigurationDBUtils.closeSession(); } - session.setAttribute(Constants.SESSION_AUTH, authUser); + + HttpSession newsession = generateNewJSession(request); + newsession.setAttribute(Constants.SESSION_AUTH, authUser); return Constants.STRUTS_SUCCESS; } @@ -700,8 +708,33 @@ public class IndexAction extends ActionSupport implements ServletRequestAware, return Constants.STRUTS_SUCCESS; } + private HttpSession generateNewJSession(HttpServletRequest request) { + HttpSession session = request.getSession(false); + + if (session != null) { + + HashMap<String, Object> attributes = new HashMap<String,Object>(); + + Enumeration<String> enames = session.getAttributeNames(); + while (enames.hasMoreElements()) { + String name = enames.nextElement(); + if (!name.equals("JSESSIONID")) + attributes.put(name, session.getAttribute( name)); + } + session.invalidate(); + + session = request.getSession(true); + for (Entry<String,Object> et : attributes.entrySet()) + session.setAttribute( et.getKey(), et.getValue()); + + } else + session = request.getSession(true); + + return session; + } + public void setServletResponse(HttpServletResponse arg0) { - this.response = arg0; +// this.response = arg0; } public void setServletRequest(HttpServletRequest arg0) { this.request = arg0; |