У меня есть домен:проверка Spring Security, если пользователь имеет RoleGroup
пользователя hasOne RoleGroup hasMany Роль
- Exemples:
RoleGroup: Admin, Профессиональный, Клиент, ...
Роль: ROLE_ACTION_1, ROLE_ACTION_2 ...
Как я могу проверить, если пользователь имеет RoleGroup с аннотациями @Secured?
Мне нужно проверить, содержит ли пользователь все роли RoleGroup?
Класс пользователя:
class User implements Serializable {
private static final long serialVersionUID = 1
static constraints = {
password blank: false, password: true
username blank: false, unique: true
}
static mapping = {
password column: '`password`'
version false
table schema: "CA"
}
static transients = ['springSecurityService']
transient springSecurityService
transient boolean enabled = true
transient boolean accountExpired
transient boolean accountLocked
transient boolean passwordExpired
String username
String password
RoleGroup profile
Set<RoleGroup> getAuthorities() {
[profile]
}
}
RoleGroup класс:
class RoleGroup implements Serializable {
private static final long serialVersionUID = 1
String name
Set<Role> getAuthorities() {
RoleGroupRole.findAllByRoleGroup (this)*.role
}
}
Вы говорите, если пружина поддерживает ролевую группу, которая представляет собой список ролей Не уверен Абт что?. Я бы сделал проект базы данных для ролей, расширяющих роли или группу ролей, а затем относился к ним как к весне. Spring поддерживает список ролей -> @Secured ({«Admin», «Professional»}) – surya
Вставьте свой класс и пример класса пользователя в пользовательский экземпляр класса пользователя. –
Я вставляю свои классы –