контроль доступа, роль и разрешение в Grails

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

Я использую плагин Apache Shiro для Grails.

Мой пример кода в начальной загрузке выглядит следующим образом

class BootStrap {

def init = { servletContext ->
    def adminRole

    if(ShiroRole.findByName("Admin".isEmpty())){
        adminRole = new ShiroRole(name: "Administrator")
        adminRole.addToPermissions("*:*")
        adminRole.addToPermissions("admin")

        adminRole.save()

// «пользователь» теперь имеет все права администратора}

    if (ShiroUser.findAllByUsername("user").isEmpty()) {
        def user = new ShiroUser(username: "user", passwordHash: new Sha256Hash("pass").toHex())
        user.addToPermissions("*:*")
        user.addToRoles(adminRole)

        user.save()

    }

    if (ShiroUser.findAllByUsername("Guest").isEmpty()) {
        def user = new ShiroUser(username: "Guest", passwordHash: new Sha256Hash("pass").toHex())
        user.addToPermissions("inventory:*")
        user.save()
    }


}
def destroy = {
}

}

Мой ShiroSecurityFilters выглядит так

class ShiroSecurityFilters {
def filters = {
    all(uri: "/**") {
        before = {
            // Ignore direct views (e.g. the default main index page).
            if (!controllerName) return true

            // Access control by convention.
            accessControl()

        }
    }
}

}

Я хотел предоставить "Гостю" доступ кинвентарь только строительные леса. Однако в моем приложении однажды пользователь "Гость" вошел в систему, чтобы получить доступ к другим контроллерам, но я не хочу, чтобы это произошло. Я ценю вашу помощь.

Если лучше использовать роль Широ, контроль доступа и / или разрешения, пожалуйста, дайте мне знать об этом.

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос