WEB开发网
开发学院软件开发Java 精通 Grails: 身份验证和授权 阅读

精通 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. 阻塞非管理员访问
精通 Grails: 身份验证和授权

图片看不清楚?请点击这里查看原图(大图)。

现在以 admin 用户的身份登录。应当能够访问所有的闭包。

使用插件实现更高级功能

这个 “微型” 博客应用程序的 “微型” 身份验证和授权系统现在已经初具雏形。您可以轻松地对它进行扩展。也许您希望 User 能够管理他们各自的帐户,而不是其他人的。也许 admin 应当具备编辑所有 Entries 的能力,而不仅仅是编辑他们自己的。在这些情况下,只需要策略性地放置几行代码就可以添加新的功能。

上一页  4 5 6 7 8 9 10  下一页

Tags:精通 Grails 身份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接