jsecurity: как настроить разрешение из базы данных? - PullRequest
0 голосов
/ 06 августа 2009

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

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

/ home / edit / * для администратора / home / *
для пользователей / администратор / * для администратора / menu / * для администратора, штатный администратор

и т.д ...

на данный момент мы сделали это в файле conf / SecurityFilters.groovy, как показано ниже

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

возможно ли хранить правила в базе данных вместо записи в фильтры безопасности?

ps: я думаю, что jsecurity меняет название на Apahce Shiro текст ссылки

1 Ответ

1 голос
/ 10 августа 2009

Вы можете создать пользовательский фильтр, который выполняет вызовы jsecurity для checkPermission. Если, например, вы можете определить авторизацию от контроллера, действие и идентификатор, вы можете использовать этот фильтр

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

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

...