Описание может звучать как просто набор слов, поэтому здесь есть более подробное объяснение. У меня есть объект User, который сопоставлен с таблицей базы данных.
Я хочу, чтобы пользователи были в разных ролях. Таких будет много - и технически они будут одними и теми же пользователями в одной таблице, но к ним будут применяться разные роли. Скажем, пользователь в роли A должен будет иметь два поля по мере необходимости и иметь определенные ограничения по длине и содержанию своего пароля, а также по истечении срока действия его пароля и т. Д.
Хотя я могу жестко задавать эти правила, мне очень интересно узнать, есть ли другой способ определения правил, который может быть сохранен в базе данных, чтобы его было легче загружать / применять, и основная идея - изменять и обновлять их - - без повторного развертывания кодовой базы.
Технически, самое глупое и простое решение - реализовать класс, сериализовать, сохранить в БД, затем загрузить, десериализовать, вызвать методы, которые будут выполнять правила. Проблема заключается в изменениях в наборе правил (читайте «интерфейс» класса правил), и это решение обычно звучит как хак.
Еще что-нибудь? Какие-нибудь рамки? Другие подходы?
ОБНОВЛЕНИЕ : вероятно, не ясно. скажем, у меня есть класс User.java
Мне нужно определить разные правила сказать:
1. нужно ли проверять длину пароля и каким он должен быть?
2. нам нужно требовать некоторые свойства, которые требуются?
3. нам нужно отслеживать попытки входа в систему для этого пользователя?
4. если мы отслеживаем, сколько попыток входа разрешено?
5. срок действия пароля истекает?
6. если мы это сделаем, то через сколько дней? или месяцы? или недели?
7. ...
И так далее, и так далее.
так что вопросы
Как определить эти правила и работать с объектом пользователя БЕЗ изменения и повторного развертывания базы кода?
- как мне сохранить эти правила?
Слюни, jBPM и т. Д. Не подходят для этой задачи. Но любой совет поможет!