@Override public void registerLoginFailure(final String userUid, final int count1) { if (StringUtils.isNotEmpty(userUid)) { final LoginFailure count = get(prepareUserUid(userUid), Integer.valueOf(0)); count.setCounter(count1); count.setDate(new Date()); bruteForceAttackCache.put(prepareUserUid(userUid), count); } }
protected void evict() { if (bruteForceAttackCache.size() > cacheSizeLimit) { final Iterator<String> cacheIterator = bruteForceAttackCache.keySet().iterator(); final Date dateLimit = DateUtils.addMinutes(new Date(), 0 - cacheExpiration); while (cacheIterator.hasNext()) { final String userKey = cacheIterator.next(); final LoginFailure value = bruteForceAttackCache.get(userKey); if (value.getDate().before(dateLimit)) { bruteForceAttackCache.remove(userKey); } } } }