2010-12-10 4 views
3

J'ai trouvé un exemple de Grails simples auth où beforeInterceptor est utilisé dans un contrôleur pour rediriger les utilisateurs si elles ne sont pas connectés il ressemble à ceci:.Grails: intercepteur d'authentification réutilisable

def beforeInterceptor = [action:this.&checkUser,except:['login']] 
    def checkUser() { 
    if(!session.user) { 
     redirect(controller:'home') 
     return false 
    } 
    } 

C'est tout bon et bon si vous avez seulement un contrôleur que vous devez sécuriser. que se passe-t-il quand vous en avez plus d'un? Je ne peux pas mettre la méthode checkUser dans un service parce qu'un service ne peut pas rediriger, et n'a probablement pas l'objet session. S'il vous plaît aider

Répondre

6

vous souhaitez utiliser un filtre de Grails, http://grails.org/doc/latest/ref/Plug-ins/filters.html

mais je suggère fortement que vous regardez dans Grails Spring Security à la place

+0

Merci. J'essaie de garder la connexion extrêmement simple, mais ce plugin de sécurité de printemps semble très alléchant :) – mkoryak

+0

Beaucoup de choses ont changé depuis 2010 ... "Dans les versions de Grails antérieures à Grails 3.0, Grails supportait la notion de filtres. pour la rétrocompatibilité, mais sont considérés comme obsolètes.Le nouveau concept d'intercepteurs dans Grails 3.0 est supérieur ... "https://grails.github.io/grails-doc/3.0.x/guide/single.html#interceptors –

2

Grails Filters devrait faire l'affaire. La page liée a un exemple d'utilisation d'un filtre pour l'authentification.

Questions connexes