All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mizhousoft.security.limiter.impl.IPAddrAuthFailureLimiter Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package com.mizhousoft.security.limiter.impl;

import com.mizhousoft.security.exception.AccountLockedException;
import com.mizhousoft.security.exception.AuthenticationException;
import com.mizhousoft.security.limiter.FailureCounter;

/**
 * 认证失败限制器
 *
 * @version
 */
public class IPAddrAuthFailureLimiter extends AbstractAuthFailureLimiter
{
	/**
	 * 构造函数
	 *
	 * @param limitNumber
	 */
	public IPAddrAuthFailureLimiter(int limitNumber)
	{
		super(limitNumber);
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void tryAcquire(String entity) throws AuthenticationException
	{
		FailureCounter faildCounter = counterCache.getIfPresent(entity);
		if (null != faildCounter)
		{
			int value = faildCounter.getFailedCount();
			if (value >= limitNumber)
			{
				throw new AccountLockedException("security.authentication.ip.locked.error", entity + " is locked.");
			}
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy