gpt4 book ai didi

grails - 使用Shiro插件保护Grails应用程序中部分而非全部页面的安全

转载 作者:行者123 更新时间:2023-12-02 15:39:53 26 4
gpt4 key购买 nike

可能只有我一个人,但是我很难理解如何使用Shiro插件保护Grails应用程序中的某些页面。

我在我的安全过滤器中使用了它:

类SecurityFilters {
def过滤器= {
全部(uri:“/ **”){
之前= {
//忽略直接 View (例如默认的主索引页面)。
如果(!controllerName)返回true

//按照约定进行访问控制。
accessControl(auth:false)
}
}
}
}

并且我在 bootstrap 中创建了一个用户:

def adminRole =新角色(名称:“管理员”)
adminRole.addToPermissions(“secured1”)
adminRole.addToPermissions(“secured2:create,save,edit,update”)
adminRole.save()

def user = new User(用户名:“admin”,passwordHash:new Sha512Hash(“***”)。toHex())
user.addToRoles Role.findByName('Administrator')
user.save()

而且有效。问题是,它还可以保护所有 Controller / Action 。

我希望可以不指定要在我的SecurityFilter中保护的操作,而只能在权限中指定。但是这可能吗?

最佳答案

静态属性“过滤器”允许您定义多个过滤模式。您可以使用'uri'参数或'controller'参数。如果使用“ Controller ”,则还可以添加“操作”参数。每个参数都使用一个正则表达式,因此您可以执行以下操作:

admin(uri:"/admin/**")
...
browseStore(controller:"store", action:"(show|list)")
...
shopStore(controller:"store", action:"*")
...

查看 http://www.grails.org/Filters了解更多信息。

关于grails - 使用Shiro插件保护Grails应用程序中部分而非全部页面的安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com