Это хорошая идея для фильтрации внутри шаблона JSF?

Первое, что я должен сказать, это то, что я никогда не использую веб-фильтр в веб-приложениях Java, поэтому, возможно, это глупая идея.

Я пытаюсь создать метод, который мог бы проверять привилегии пользователя и давать доступ или нет к определенным страницам, если он может или нет доступ к этим страницам. Для лучшего объяснения я сделаю пример. Вы должны представить себе грубое веб-приложение, хорошо? Это приложение имеет следующие веб-страницы: List.xhtml (который содержит все строки и ссылки для управления этими строками); create.xhtml (как следует из названия, он используется для создания новой строки); edit.xhtml (используется для изменения строки); и view.xhtml (используется для просмотра деталей определенной строки).

Теперь у меня есть 2 типа пользователей: администратор и гость, хорошо? Привилегии просты для представления, администратор может делать все, а гость может только просматривать детали строк.

В чем проблема? Проблема в том, что я скрываю ссылки для создания и изменения строки, но если гость изменяет URL-адрес, он может, однако, войти в create.xhtml и edit.xhtml и создать / изменить строку ... Я прочитал некоторые другие вопросы, такие как:

Защита приложений JSF а такжеjsf security-contraint для защиты ссылки, когда пользователь не вошел в систему?

и я написал этот вопрос:

Есть ли проблема при вставке проверки в шаблон?

и теперь я хотел бы создать универсальный метод для реализации проверки привилегий. У меня есть следующие идеи о том, как решить эту проблему:

создайте фильтр, подобный фильтру во втором связанном вопросе, и вставьте галочку, например, «если у пользователя есть эта привилегия для этого действия, выполните ... в противном случае перенаправьте на error.xhtml».вставьте чек непосредственно в шаблон, как в третьем связанном вопросе.

Какой из них будет лучшим подходом? Как это обычно делается?

Ответы на вопрос(0)

Ваш ответ на вопрос