2009-08-06 4 views
0

J'utilise des plugins Jsecurity sur Grails et je voudrais savoir comment configurer l'autorisation pour chaque page de la base de données si possible.jsecurity: comment configurer l'autorisation à partir de la base de données?

c'est de stocker les règles suivantes:

/home/modifier/* pour Administrateur/home/*
pour les utilisateurs/administrateur/* pour l'administrateur /menu/* pour Admin, personnel admin

etc ...

en ce moment, nous l'avons fait dans le fichier conf/SecurityFilters.groovy comme le

suivant
menuEditing(controller:"menu"){ 
    before = { 
     accessControl { 
      role("Administrator"); 
     } 
    } 
} 

est-il possible de stocker les règles sur la base de données au lieu d'écrire sur les filtres de sécurité?

ps: Je pense que jsecurity change son nom à Apahce Shiro link text

Répondre

1

Vous pourriez faire un userfilter ce qui rend le jsecurity appelle à checkPermission. Si par exemple, vous pouvez déterminer l'autorisation du contrôleur, l'action et l'ID que vous pouvez utiliser ce filtre

permissionCheck() { 
    before = { 
     SecurityUtils.getSubject().ceckPermission("${controller}:${action}:${id}") 
    } 
} 

et un royaume qui vérifie cette autorisation en utilisant la base de données.

Questions connexes