Checking if specific user has a role
grails, security, spring, spring-security
Solution
I assume, your User domain class holds a hasMany refernece to your Role class like this:
class User {
static hasMany = [authorities: Role]
//....
}
class Role {
static belongsTo = User
String description
String authority
//....
}
So your code for role-checking is simple:
User user = User.get(1)
if (user.authorities.any { it.authority == "ROLE_ADMIN" }) {
// user is a admin
}
An updated answer can be found here.
Problem
is there some pretty way to check if some specific user (not the one that is logged in) has some specific role? Here is grails example (generally the same for plain Java but syntax): ``` def user = User.get(1) //Get user with id 1 if (ifAnyGranted(user,"ROLE_ADMIN")) { //This is the line I need to implement somehow ... } ``` Thanks in advance.