2013-02-14 3 views
0

Я использую весеннюю безопасность, и мне нужно получить объект домена пользователя в контроллере.Grails доступ к моему домену Пользователь в @Secured ([...])

Если я позвоню @Secured(['principal...']), я возвращаю объект типа org.codehaus.groovy.grails.plugins.springsecurity.GrailsUser. Тем не менее, то, что я ищу это пользователя объект домена я определил в моем Config.groovy так:

grails.plugins.springsecurity.userLookup.userDomainClassName = 'project.auth.User' 

Как я могу сделать?

+0

Было бы достаточно, если бы я мог получить доступ к springSecurityService.currentUser в @Secured() аннотацию – user2022371

ответ

0

Почему вы не можете использовать функцию springSecurityService для получения текущего пользователя? В контроллере у вас есть доступ к функции springSecurityService. Это возвращает объект пользователя.

@Secured[... 
class MyClassController { 

    def springSecurityService 

    def myMethod() { 
     User user = springSecurityService.getCurrentUser() 
    } 
} 

Это объясняется в this документации

+0

Я знаю, но мне нужен доступ к этой службе в @Secured, потому что вы эту заметку можно доступ к этому действию в зависимости от метода класса User. Например: класс {Новичок \t переходная springSecurityService \t Строка имя пользователя \t Строка пароля \t булево включен \t ... \t \t статический hasMany \t \t = [mensajesRecibidos: Mensaje] \t} \t // – user2022371

+0

Я знаю, но мне нужно получить доступ к этой службе в @Secured anotation, потому что вы можете получить доступ к этому действию в зависимости от метода класса User. Например: класса Новичок { \t статический hasMany \t = [mensajesRecibidos: Mensaje] } и MensajeController шоу действий вы можете получить доступ к нему, если Mensaje что вы можете показать ваш, я имею в виду что-то вроде этого класса MensajeController { @ Необеспеченный (['currentUser.mensajesRecibidos.contains (Mensaje.get (request.params.id))']) def show() { – user2022371

Смежные вопросы