Доморощенный Filter
вполне выполним, когда правильно написан, но он менее удобен в обслуживании / повторном использовании, потому что он тесно связан с рассматриваемым веб-приложением.Безопасность, управляемая контейнером Java EE, и Spring Security предлагают API, который одинаков и повторно используется для любого веб-приложения.Это может оказаться проще для разработчиков / сопровождающих, которые работают над несколькими различными проектами и хотят реализовать / поддерживать одно и то же.В то время как относительно прост в реализации, доморощенный Filter
просто нарушает DRY .
Кстати, я бы не рекомендовал использовать для этого PhaseListener
, так как это перехватывает запросы JSFтолько для других запросов, таких как статические файлы CSS / JS / HTML и «простые» файлы JSP.