Я бы хотел использовать Spring Security для создания приложения, я выбираю права доступа из базы данных и могу получить такой bean-компонент.
public class MyAuthority {
private Boolean IS_HR;
private Boolean IS_DBA;
private Boolean IS_PM;
private Boolean IS_TL;
getter and setter....
}
И я использую Java-рефлексию, если значение поля истинно, а затем присваиваю роль имени поля в MyAuthority класс, подобный ROLE_HR . И я определил статический класс роли, такой как
public class MyRole {
public static final String HR = "ROLE_HR";
public static final String DBA = "ROLE_DBA";
public static final String PM = "ROLE_PM";
public static final String TL = "ROLE_TL";
}
Это позволяет легко использовать аннотацию @ Secured , как @ Secured (MyRole.HR) в моем контроллере.
Но проблема в том, что у меня есть несколько авторитетов, мне не очень нравится определять каждое поле роли, и иногда я хотел бы добавить какое-то поле в класс MyAuthority.
Таким образом, возможно определить MyRole.class , но не делать запись каждого поля static final на основе MyAuthority класса, например, lombok @ Slf4j может генерировать поле логгера.
Или другие лучшие образцы дизайна. Спасибо.