создавать пользователей с помощью плагина Spring Spring для Grails - PullRequest
0 голосов
/ 28 июня 2011

Я использую подключаемый модуль Spring Security Core в приложении Grails.Мне удалось установить плагин и предоставить пользователя по умолчанию в начальной загрузке, которая работает нормально.Однако я хочу предоставить опцию для создания нового пользователя (регистрации) в приложении.Каков наилучший способ сделать это?Я попробовал следующий код в UserController:

 def save = {
    def userRole = SecRole.findByAuthority("ROLE_USER")?: new SecRole(authority:"ROLE_USER").save(failOnError:true)
    def adminRole = SecRole.findByAuthority("ROLE_ADMIN") ?: new SecRole(authority:"ROLE_ADMIN").save(failOnError:true)

    def newUser = new User(
                        username: params.username,
                        password: springSecurityService.encodePassword(params.password),
                        enabled: true)

    SecUserSecRole.create newUser, userRole
}

, но он не работает и выдает исключение java.lang.NullPointerException.Есть идеи?Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Вам нужно позвонить save() на пользователя.

0 голосов
/ 22 июля 2013

Я пытался загрузить не существующие роли.Я проверил это с помощью приведенного выше комментария (сохранить пользователя, а не так сохранить после исправления ошибки, и обе версии работали).Так что SecUserSecRole.create мне было достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...