精通 Grails: 身份验证和授权
2009-10-26 00:00:00 来源:WEB开发网核心提示: 最后,添加清单 11 中的代码,精通 Grails: 身份验证和授权(9),将所有 User 帐户活动限制为只有拥有 admin 角色的人员才能执行:清单 11. 将 User 帐户管理限制为只有拥有 admin 角色的人员才能执行classUserController{defbeforeInt
最后,添加清单 11 中的代码,将所有 User 帐户活动限制为只有拥有 admin 角色的人员才能执行:
清单 11. 将 User 帐户管理限制为只有拥有 admin 角色的人员才能执行class UserController {
def beforeInterceptor = [action:this.&auth,
except:["login", "authenticate", "logout"]]
def auth() {
if( !(session?.user?.role == "admin") ){
flash.message = "You must be an administrator to perform that task."
redirect(action:"login")
return false
}
}
//snip...
}
要测试基于角色的授权,以 jsmith 身份登录并随后尝试访问 http://localhost:9090/blogito/user/create。应当被重定向到登录屏幕,如图 5 所示:
图 5. 阻塞非管理员访问
图片看不清楚?请点击这里查看原图(大图)。
现在以 admin 用户的身份登录。应当能够访问所有的闭包。
使用插件实现更高级功能
这个 “微型” 博客应用程序的 “微型” 身份验证和授权系统现在已经初具雏形。您可以轻松地对它进行扩展。也许您希望 User 能够管理他们各自的帐户,而不是其他人的。也许 admin 应当具备编辑所有 Entries 的能力,而不仅仅是编辑他们自己的。在这些情况下,只需要策略性地放置几行代码就可以添加新的功能。
- ››精通Photoshop之通道详解
- ››身份证函数 查看身份证地区信息(1)
- ››身份证函数 查看身份证地区信息(2)
- ››精通 Grails: 使用 Grails 进行单元测试(单元测试...
- ››精通 Grails: 创建自定义插件
- ››精通 Grails: 在企业中使用 Grails
- ››精通 Grails: Grails 与移动 Web
- ››精通 Grails: Grails 与遗留数据库
- ››精通 Grails: RESTful Grails
- ››精通 Grails: 用 JSON 和 Ajax 实现异步 Grails
- ››精通 Grails: 用定制 URI 和 codec 优化 Grails 中...
- ››精通 Grails: 身份验证和授权
更多精彩
赞助商链接