Нет такой функциональности из коробки.
Но, как правило, в Liferay, у вас есть два варианта:
- Проверить на рынке, если есть плагин для этого
- Или создать такой плагин самостоятельно
Там есть плагин на рынке, который может соответствовать вашим потребностям: Audit EE
Я никогда не использовал его, поэтому я ничего не могу вам рассказать.
И в случае, если вы не удовлетворены с вариантами, которые она предлагает, вот написать плагин себе решение:
Если вы хотите войти только неудачные попытки, необходимо реализовать AuthFailure
класс:
public LogLoginFailures implements AuthFailure {
public void onFailureByEmailAddress(long companyId, String emailAddress,
Map<String, String[]> headerMap,
Map<String, String[]> parameterMap) throws AuthException {
MyLoginLogUtil.logFailure(emailAddress);
}
// Implement the two other onFailure... methods the same way
}
Вам нужно будет написать MyLoginLogUtil
самостоятельно. Вы можете использовать сервис Liferay, который вы создадите с помощью Liferay Service Builder.
Чтобы объявить AuthFailure
экземпляр вам просто нужно добавить его в вашем portal-ext.properties
:
auth.failure=com.liferay.portal.security.auth.LoginFailure,...LogLoginFailures
Свойство хранит список обработчиков. Вы должны сохранить значение по умолчанию LoginFailure
, чтобы иметь поведение по умолчанию для хранения последней неудачной попытки входа на пользователя.
Если вы действительно хотите, чтобы войти все знак в попытках, вы можете добавить Authenticator
в auth.pipeline.post
собственности в ваших portal-ext.properties:
public LogLoginFailures implements AuthFailure {
public int authenticateByEmailAddress(long companyId, String emailAddress,
String password, Map<String, String[]> headerMap,
Map<String, String[]> parameterMap) throws AuthException {
MyLoginLogUtil.logSuccesss(emailAddress);
return SUCCESS;
}
// Implement the two other authenticate... methods the same way
}
Это будет регистрировать удавшегося попытки входа в систему.
Вы также можете добавить аутентификатора в качестве первого обработчика в свойстве auth.pipeline.pre
, но это не сможет отличить неудавшиеся и успешные логины.
Просто примечание - мы использовали плагин аудита EE с настраиваемым атрибутом аудита для отслеживания при изменении макета страницы. Такой же подход мог бы работать и для аудита входа в систему – VC1