Ich habe die Domain:Spring Security zu überprüfen, ob Benutzer hat Role
Benutzer hasOne Role hasMany Rolle
- Exemples:
Role: Admin, Fachmann, Klient, ...
Rolle: ROLE_ACTION_1, ROLE_ACTION_2, ...
Wie ich überprüfen, ob ein Benutzer eine Role mit Anmerkung @Secured hat?
Ich muss überprüfen, ob der Benutzer alle Rollen von RoleGroup enthält?
Benutzerklasse:
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]
}
}
Role Klasse:
class RoleGroup implements Serializable {
private static final long serialVersionUID = 1
String name
Set<Role> getAuthorities() {
RoleGroupRole.findAllByRoleGroup (this)*.role
}
}
Wollen Sie damit sagen, wenn Frühjahr eine Rollengruppe unterstützt, die eine Liste der Rollen ist nicht sicher, abt das?. Ich würde einen Datenbankentwurf für Rollen erstellen, die Rollen oder eine Rollengruppe erweitern, und sie dann im Frühjahr als Rolle behandeln. Spring unterstützt die Liste der Rollen -> @Secured ({"Admin", "Professional"}) – surya
Fügen Sie Ihre Benutzerdomänenklassenquelle und die Beispielbenutzerklasseninstanz ein. –
Ich füge meine Klassen ein –