Skip to content

Commit 80ea7c4

Browse files
committed
Added extend validity disable option
1 parent 4514aa2 commit 80ea7c4

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

QueueIT.Security/src/queueit/security/CookieValidateResultRepository.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public class CookieValidateResultRepository extends ValidateResultRepositoryBase
1818
static String defaultCookieDomain;
1919
static int defaultCookieExpiration = 1200;
2020
static int defaultIdleExpiration = 180;
21+
static boolean defaultExtendValidity = true;
2122

2223
static {
2324
loadConfiguration();
@@ -31,19 +32,22 @@ private static void loadConfiguration()
3132
defaultCookieDomain = props.getProperty("cookieDomain", null);
3233
defaultCookieExpiration = Integer.parseInt(props.getProperty("cookieExpiration", "1200"));
3334
defaultIdleExpiration = Integer.parseInt(props.getProperty("idleExpiration", "180"));
35+
defaultExtendValidity = Boolean.parseBoolean(props.getProperty("extendValidity", "true"));
3436
} catch (Exception e) {
3537
// no need to handle exception
3638
}
3739
}
3840

39-
public static void configure(String cookieDomain, Integer cookieExpiration, Integer idleExpiration)
41+
public static void configure(String cookieDomain, Integer cookieExpiration, Integer idleExpiration, Boolean extendValidity)
4042
{
4143
if (cookieDomain != null)
4244
defaultCookieDomain = cookieDomain;
4345
if (cookieExpiration != null)
4446
defaultCookieExpiration = cookieExpiration;
4547
if (idleExpiration != null)
4648
defaultIdleExpiration = idleExpiration;
49+
if (extendValidity != null)
50+
defaultExtendValidity = extendValidity;
4751
}
4852

4953
@Override
@@ -109,7 +113,7 @@ public IValidateResult getValidationResult(IQueue queue) {
109113
if (!expectedHash.equals(actualHash))
110114
return null;
111115

112-
if (redirectType != RedirectType.Idle)
116+
if (defaultExtendValidity && redirectType != RedirectType.Idle)
113117
{
114118
Date newExpirationTime = new Date((new Date()).getTime() + (defaultCookieExpiration * 1000));
115119
String newHash = generateHash(queueId, originalUrl, placeInQueue, redirectType.toString(), timeStamp, newExpirationTime);

QueueIT.Security/src/queueit/security/SessionValidateResultRepository.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
public class SessionValidateResultRepository extends ValidateResultRepositoryBase {
99

1010
static int defaultIdleExpiration = 180;
11-
11+
static boolean defaultExtendValidity = true;
12+
1213
static {
1314
loadConfiguration();
1415
}
@@ -19,15 +20,18 @@ private static void loadConfiguration()
1920
// Load the properties
2021
Properties props = QueueitProperties.getProperties("queueit.properties");
2122
defaultIdleExpiration = Integer.parseInt(props.getProperty("idleExpiration", "180"));
23+
defaultExtendValidity = Boolean.parseBoolean(props.getProperty("extendValidity", "true"));
2224
} catch (Exception e) {
2325
// no need to handle exception
2426
}
2527
}
2628

27-
public static void configure(Integer idleExpiration)
29+
public static void configure(Integer idleExpiration, Boolean extendValidity)
2830
{
2931
if (idleExpiration != null)
3032
defaultIdleExpiration = idleExpiration;
33+
if (extendValidity != null)
34+
defaultExtendValidity = extendValidity;
3135
}
3236
@Override
3337
public IValidateResult getValidationResult(IQueue queue) {
@@ -66,6 +70,14 @@ public void setValidationResult(IQueue queue, IValidateResult validationResult,
6670

6771
if (validationResult instanceof AcceptedConfirmedResult)
6872
{
73+
if (defaultExtendValidity && expirationTime == null)
74+
{
75+
HttpServletRequest request = RequestContext.getCurrentInstance().getRequest();
76+
HttpSession session = request.getSession(true);
77+
78+
expirationTime = new Date(System.currentTimeMillis()+(session.getMaxInactiveInterval()*1000));
79+
}
80+
6981
AcceptedConfirmedResult confirmedResult = (AcceptedConfirmedResult)validationResult;
7082

7183
HttpServletRequest request = RequestContext.getCurrentInstance().getRequest();
@@ -79,7 +91,6 @@ public void setValidationResult(IQueue queue, IValidateResult validationResult,
7991
model.TimeStamp = confirmedResult.getKnownUser().getTimeStamp();
8092
model.RedirectType = confirmedResult.getKnownUser().getRedirectType();
8193
model.PlaceInQueue = confirmedResult.getKnownUser().getPlaceInQueue();
82-
model.Expiration = expirationTime;
8394

8495
if (expirationTime != null)
8596
model.Expiration = expirationTime;

0 commit comments

Comments
 (0)