2009-05-11 30 views
2

Je développe une application sous Groovy en utilisant scafoldig. Nous utilisons le plugin Acegi pour la sécurité. Nous avons une classe appelée Changemanagement définie comme suit (version simplifiée)Session Groovy. Comment trouver le nom d'utilisateur

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

Company company  
static belongsToCompany = [company:Company] 

User lastModifiedByUser 
static belongsToUser = [lastModifiedByUser:User] 
} 

Quand j'adresse la méthode create je vais obtenir un menu déroulant avec l'étiquette « Dernière modification par » tous les utilisateurs de la Utilisateurs de table, qui est le comportement standard. Au lieu de cela, je voudrais avoir directement l'utilisateur qui est déjà connecté et pas de menu déroulant. J'ai déjà généré le modèle de création et je peux le modifier. Je suppose que je dois obtenir le nom d'utilisateur de la session. Si ma supposition est vraie, comment obtenir ce nom d'utilisateur? et si je me trompe alors d'où puis-je obtenir le nom d'utilisateur de l'utilisateur actuel?

Merci d'avance.

Répondre

1

Voir this question pour plus de détails sur la façon d'obtenir le nom d'utilisateur actuel.

Je suggère également de regarder dans Grails Filters pour un moyen de mettre facilement l'utilisateur dans le modèle après tous les appels de contrôleur et de le rendre disponible dans la vue. Je l'utilise sur mon application pour mettre le nom de l'utilisateur connecté dans le coin supérieur droit de l'écran.