可能只有我一个人,但我很难理解如何使用 Shiro 插件保护 Grails 应用程序中的一些页面。
我在我的安全过滤器中使用它:
类 SecurityFilters {
def 过滤器 = {
全部(uri:“/**”){
之前 = {
// 忽略直接视图(例如默认的主索引页面)。
if (!controllerName) 返回真
// 按照惯例进行访问控制。
访问控制(身份验证:假)
}
}
}
}
我在我的引导程序中创建了一个用户:
def adminRole = 新角色(名称:“管理员”)
adminRole.addToPermissions("secured1")
adminRole.addToPermissions("secured2:create,save,edit,update")
adminRole.save()
def user = new User(username: "admin", passwordHash: new Sha512Hash("***").toHex())
user.addToRoles Role.findByName('Administrator')
用户保存()
它有效。问题是,它还保护所有控制器/操作。
我希望,可以不在我的 SecurityFilter 中指定我想要保护的操作,而只能在权限中指定。但这可能吗?