diff options
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java index ab23e238..143df335 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java @@ -127,6 +127,7 @@ public class PdfAsHelper { private static final String PRE_PROCESSOR_MAP = "PREPROCMAP"; private static final String OVERWRITE_MAP = "OVERWRITEMAP"; private static final String KEYID = "KEYID"; + private static final String SESSION_ACCESS = "SESSION_ACCESS"; private static final String POSITIONING_URL = "/assets/js/pdf.js/web/viewer.html"; @@ -1229,7 +1230,7 @@ public class PdfAsHelper { } public static void regenerateSession(HttpServletRequest request) { - request.getSession(false).invalidate(); + request.getSession(true).invalidate(); request.getSession(true); } @@ -1539,6 +1540,25 @@ public class PdfAsHelper { } return false; } + + public static boolean isSessionAccessCounter(HttpServletRequest request) { + HttpSession session = request.getSession(); + Object obj = session.getAttribute(SESSION_ACCESS); + if (obj == null) { + Integer value = 0; + session.setAttribute(SESSION_ACCESS, value); + obj = value; + } + + if (obj instanceof Integer) { + Integer count = (Integer) obj; + count++; + session.setAttribute(SESSION_ACCESS, count); + return (count < WebConfiguration.getAccessCount()); + } else { + return false; + } + } public static String getVersion() { return PdfAsFactory.getVersion(); |