Я хотел бы отследить, когда пользователи входят в систему моего приложения. У меня есть некоторый код, который я хотел бы выполнить прямо после того, как пользователь аутентифицируется. Проблема, я не могу выяснить, где это нужно назвать. Пружинная безопасность имеет способ назвать метод после аутентификации?
Просто напишите свой собственный SpringSecurityFilter и добавьте его в цепочку фильтров сразу после вызова вашего провайдера аутентификации.
package my.code;
public class AuditFilter extends SpringSecurityFilter {
public void doFilterHttp(...) throws ... {
{application code to run before request is processed}
chain.doFilter(...);
{application code to run after request has fully processed}
}
}
Затем в XML-файле конфигурации (где бы вы ни настраивали цепочку фильтров безопасности) добавьте такую строку:
<bean id="auditFilter" class="my.code.AuditFilter>
<security:custom-filter position="LAST"/> <-- you can change the position
</bean>