
org.togglz.console.security.TogglzCSRFTokenCache Maven / Gradle / Ivy
package org.togglz.console.security;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
import org.apache.commons.collections4.map.PassiveExpiringMap;
import org.togglz.servlet.spi.CSRFToken;
public class TogglzCSRFTokenCache {
private static final PassiveExpiringMap expiringMap;
private static final Object lock = new Object();
static {
PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy
expirationPolicy = new PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy<>(
10, TimeUnit.MINUTES);
expiringMap = new PassiveExpiringMap<>(expirationPolicy, new HashMap<>());
}
static void cacheToken(CSRFToken token) {
synchronized (lock) {
expiringMap.put(token.getValue(), token);
}
}
static boolean isTokenInCache(CSRFToken token) {
synchronized (lock) {
return expiringMap.containsKey(token.getValue());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy