как добавить пользователей в весеннее ядро ​​безопасности - PullRequest
0 голосов
/ 21 июня 2011

Я только что добавил плагин безопасности для весны в свое приложение Grails.У меня есть вопрос о добавлении пользователей и связанных с ними ролей.Я могу сделать это правильно в начальной загрузке, но мне было интересно, как это сделать на странице GSP.У меня есть страница GSP с соответствующими полями.при передаче он вызывает метод save.мой пользовательский контроллер домена расширяет SecUser.ниже приведен пример:

class User extends SecUser {

    String  fname
    String  lname
    Date    dateCreated
    Date    lastUpdated

    static constraints = {
        fname       (blank:false)
        lname       (blank:false)
    }
    String toString(){
        fname & " " & lname
    }
}

Когда пользователь сохраняется, он сохраняет только элементы в пользовательском домене, а не SecUser.У кого-нибудь есть пример GSP и код контроллера для сохранения всех пользовательских данных?

Ответы [ 2 ]

0 голосов
/ 23 июня 2011

Я чувствую, что у вас есть две проблемы:

  1. Как создать Crud (включая gsp) для вашего класса User
  2. Как сохранить данные вашего класса и их унаследованныеfields

По первому вопросу: для создания GSP и всего, что вам нужно, чтобы CRUD был в вашем классе User, я предлагаю вам использовать scaffolding.If позаботится обо всем этом за вас.

Удалите все из вашего UserController или создайте другой контроллер, используя только следующий код:

class UserController {
    static scaffold = User
}

, затем перейдите к своему UserController ({your_app} / user / index) и все должно быть там.

Если вы хотите иметь реальный контроллер и gsps и изменить их работу, используйте команду grails: grails generate-all your.package.User

ДляВторой вопрос:

Если не возникает проблема с вашим классом SecUser (например, временные поля), все поля, унаследованные от SecUser, должны быть сохранены с помощью User.save ()

Дайте мне знать, какэто идет,

Винсент Жигер

0 голосов
/ 22 июня 2011

Использовали ли вы включенный скрипт для создания класса пользователя?

grails s2-quickstart DOMAIN_CLASS_PACKAGE USER_CLASS_NAME ROLE_CLASS_NAME [REQUESTMAP_CLASS_NAME]

например.

1008 **

grails s2-quickstart com.yourapp User Authority

Когда я сделал это в своем приложении grails, полученный класс User не расширил SecUser.

...