GWT права пользователей

374
24 декабря 2016, 16:09

Добрый день. Следующая проблема. Есть проект на GWT. Заказчик хочет, чтобы для конкретной роли пользователя можно было включать/выключать определенные виджеты или определенные поля в виджетах. Раньше мы хардкодили права на клиенте и на сервере. Примерно так:

    // Клиент. Заполняем виджет информации о сотруднике
    if (isAccess(getCurrentPost(), ADMIN, TESTER)) {
       textBoxName.setText(staff.getName());
    }
    // Сервер. Асинхронный метод, получающий данные для виджета с информацией о сотруднике.
    if (isAccess(getCurrentPost(), ADMIN, TESTER)) {
       staff.setName(name);
    }
    return staff;

Это было ужасно неудобно, права на клиенте и сервере постоянно не совпадали. Например: пользователь видит пустое поле ввода, и думает информация отсутствует, а на деле - на сервере забыли добавить ему права. Обратная ситуация связана с безопасностью данных. Теперь всё стало еще сложнее: разрешенные должности ADMIN, TESTER будут храниться в базе данных. Часть этих прав будет загружаться при авторизации пользователя, часть прав (зависящих от пришедших данных) будет загружаться по мере необходимости. Концепция очень неудобная... Хотелось бы, что-то похожее на JSF, чтобы код клиентского виджета генерировался на сервере. Но JSF нам не подходит, потому что у нас огромное количество клиентской логики, да и проект довольно большой. Если есть какие-то предложения как это реализовать 'меньшей кровью', был бы очень благодарен

READ ALSO
java.lang.NumberFormatException

java.lang.NumberFormatException

Подскажите как перевести String в массив int, чтобы не выдавало ошибку:

406
Переход между activity

Переход между activity

Есть код 2 активити, они одинаковы с 1, но в первом spinner, а во втором ListView, так вот в первом у меня парсит 1 Json в spinner, мне надо, чтобы при нажатие...

399
Создание журнала локально java

Создание журнала локально java

Журнал можно представить как таблицу из трех колонок: "Дата", "Объект", "Комментарий пользователя"Журнал должен создаваться локально, а потом...

441