2009-08-06 1 views
0

Я использую плагины Jsecurity на Grails, и я хотел бы знать, как можно настроить разрешение для каждой страницы из базы данных, если это возможно.jsecurity: как настроить разрешение из базы данных?

это как хранить следующие правила:

/дома/редактировать/* для администратора/дома/*
для пользователей/администратор/* для администратора /меню/* для Admin, персонал Администратор

и т.д ...

в данный момент, мы сделали это в конф/SecurityFilters.groovy как следующий

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

Можно ли хранить правила в базе данных вместо того, чтобы писать в Security Filters?

пс: я думаю, что jsecurity меняет свое название на Apahce Shiro link text

ответ

1

Вы могли бы сделать userfilter что делает jsecurity звонки checkPermission. Если, например, вы можете определить разрешение от контроллера, действий и ид вы могли бы использовать этот фильтр

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

и область, которая проверяет наличие этого разрешения с использованием базы данных.