Как назначить роль новому пользователю в начальной загрузке с Grails Spring Security? - PullRequest
0 голосов
/ 04 июля 2011

В моем приложении Grails я использую плагин Spring Security .. У меня есть регистрационная форма, и зарегистрированные пользователи будут храниться в таблице БД.

в начальной загрузке я создал новую роль как, def PhysicianRole = новая роль (права доступа: 'ROLE_PHYSICIAN'). Save (flush: true)

Тогда у меня есть другая форма, в которой администратор включает или отключает пользователей из таблицы.

Теперь я хочу назначить роль врача всем пользователям, которые включены. Поэтому я сделал, как показано ниже, в начальной загрузке, def physicians = Physician.findAllWhere (включено: true) с этим я получаю список массивов как,

врачей --------------> [com.HospitalManagement.User: 1, com.HospitalManagement.User: 2, com.HospitalManagement.User: 4, com.HospitalManagement.User: 5, com.HospitalManagement.User: 6, com.HospitalManagement.User: 7]

теперь, как мне назначить роль врача всем объектам в этом списке массива?

1 Ответ

1 голос
/ 04 июля 2011
def physicianRole = Role.findByAuthority('ROLE_PHYSICIAN')

for (physician in Physician.findAllWhere(enabled:true)) {
   if (!PhysicianRole.findByPhysicianAndRole(physician, physicianRole)) {
      PhysicianRole.create physician, physicianRole 
   }
}
...