Я закончил программировать свой собственный класс: класс MyUserDetails имеет различные методы, в том числе один, который перебирает роли и разрешения, чтобы увидеть все разрешения, которые есть у пользователя, такие как:
for (Permission permission : role.getPermissions()) {
permissions.add(new GrantedAuthorityImpl(permission.getName()));
}
Это довольно уродливо, но у меня пока нет лучшего способа.
Я использую это, делая что-то вроде:
MyUser loggedInUser = myUserDAO.getByUsername(principal.getName());
MyUserDetails loggedInUserUD = new MyUserDetails(loggedInUser);
if (loggedInUserUD.hasAnyPermission("perm1, perm2")){
//do stuff
}