可能只有我一个人,但我很难理解如何使用 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 中指定我想要保护的操作,而只能在权限中指定。但这可能吗?