2016-01-09 2 views
0

Я делаю веб-приложение с весной и тимелеафом. Мой премьер-министр хочет, чтобы я сделал настраиваемое представление каждым пользователем (будет установлен по умолчанию, но каждый пользователь может иметь свой собственный вид). Например - после успешного входа в систему есть представление с 4 кнопками. В приложение могут войти 2 пользователя, User1 и User2. Пользователь1 может видеть только 2 кнопки, Пользователь 2 может видеть их все. Как я могу это сделать?Другой вид зарегистрированного пользователя (Spring, java, thymeleaf)

Я думал о 2 варианта:

  1. ViewResolvers. Например, InternalResourceViewResolver - но может ли он быть охвачен сессией? Если бы у меня были бы все html-файлы в каталогах User1/... User2/... : InternalResourceViewResolver (после успешного входа) выберите, какие представления он должен использовать?

  2. Использовать роли пользователей (безопасность весов). После входа в систему установите в сеанс все настройки, а затем в окне просмотра проверьте, может ли пользователь видеть его или нет (th:if).

Для получения какой-либо помощи, источника информации или того, что я должен прочитать, чтобы найти правильное решение.

+0

Я не знаю, как это сделать с тимелеафом, но с SpringSecurity и JSP у вас есть весна security taglib тег, который показывает его содержимое на основе роли пользователя. – rascio

ответ

0

Если вы уже используете весну, используйте также Spring Security для управления авторизацией и аутентификацией в приложении. Тогда SpringSecurity также имеет taglib для Thymeleaf, который предлагает тег для отображения контента на основе авторизации пользователя, проверьте это link, как это сделать.

+0

Я использую Spring security, и это то, что я делаю уже, но я хотел бы сделать приложение, настроенное администратором в конфигурации для пользователя1 - вы можете видеть кнопки1 и button3. Пользователь2 может видеть кнопки1, button2 и button3. И когда они войдут в приложение - это уже работает. Я не уверен, что выполнение таких же функций, как кнопки/представления/таблицы, является умной идеей. –

+0

Это зависит от того, хочет ли управление установить разрешение при детализации кнопок/представлений/таблиц. :) – rascio

+0

Да, это правда. В моем случае - управление хочет установить разрешение на этом низком уровне. Вероятнее всего, это будет самый надежный способ авторизации в Spring Security. Большое спасибо за помощь! –