Хотя я бы предложил избегать такого подхода, с точки зрения конечного пользователя, я понимаю, что иногда существуют требования вне вашего контроля.Таким образом, обратите внимание, что объект Person, который вы определили для использования в Spring Security, должен содержать следующее:
Set<Role> getAuthorities() {
PersonRole.findAllByPerson(this).collect { it.role } as Set
}
Если вы определите свойство где-то, в котором указана выбранная вами роль, просто измените вышеуказанный методтолько вернуть эту роль.