2009-05-11 4 views
2

Я разрабатываю приложение под Groovy, используя scafoldig. Мы используем плагин Acegi для обеспечения безопасности. У нас есть класс, называемый управление изменениями определяется следующим образом (упрощенный вариант)Groovy сессии. Как найти имя пользователя

class ChangeManagement { 
static constraints = { 
    company(nullable:false)    
    lastModifiedByUser(nullable:false)  
} 

Company company  
static belongsToCompany = [company:Company] 

User lastModifiedByUser 
static belongsToUser = [lastModifiedByUser:User] 
} 

Когда я обращаюсь к создать метод, который я получит выпадающее меню с меткой «Last Modified By» со всеми пользователями из table Users, , который является стандартным поведением.

Вместо этого я хотел бы иметь непосредственно пользователя, который уже вошел в систему, и нет выпадающего меню. Я уже создал шаблон создания, и я могу его изменить. Я предполагаю, что мне нужно получить имя пользователя из сеанса. Если мое предположение верно, как получить это имя пользователя? и если я ошибаюсь, откуда я могу получить имя пользователя текущего пользователя?

Заранее спасибо.

ответ

1

См. this question для получения информации о том, как получить текущее имя пользователя.

Я также предлагаю посмотреть на Grails Filters для того, чтобы легко ввести пользователя в модель после всех вызовов контроллера и сделать его доступным в представлении. Я использую это в своем приложении, чтобы указать имя зарегистрированного пользователя в правом верхнем углу экрана.