快速业务通道

精通Grails: 身份验证和授权 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
并不是增加代码就能获得回报。对于 Grails 中,典型的 “构建还是购买” 问题变成了 “构建还是下载插件”。http://grails.org/plugin/list#security+tags 中的一些插件试图解决身份验 证和授权挑战,使用了与 grails install-plugin 不同的方法。

比如,Authentication 插件提供了一些非常不错的特性,例如允许 User 注册一个帐户,而不是要求 admin 为他们创建帐户。随后可以配置此插件,向 User 发送一条确认消息,表示 “使用这个电子邮件 地址创建了一个新的用户帐户。单击此链接将验证您的新帐户”。

OpenID 插件则采取不同的方法。您的最终用户不需要创建另一个用户名和密码组合(他们肯定会遗忘 ),身份验证被委托给他们选择的 OpenID 提供商。Lightweight Directory Access Protocol (LDAP) 插件采用了类似地方法,允许您的 Grails 应用程序利用现有的 LDAP 基础设施。

Authentication 和 OpenID 插件只提供身份验证功能。其他插件还提供了授权解决方案。JSecurity 插件提供了一个完整的安全框架,为 User、Role 和 Permission 提供了模板(boilerplate)域类。 Spring Security 插件利用了 Spring Security (formerly Acegi Security) 库,允许您重用现有的 Spring Security 知识和源代码。

可以看到,Grails 中可以应用多种身份验证和授权策略,因为应用程序之间的需求是不一样的。通过 在功能中设置这些策略,应用程序不可避免地将增加相应的复杂性。在生产应用程序中,我曾使用了这里 列出的一些插件,但前提是,必须确保使用插件带来的优点超过了我最早给出的简单的 hand-rolled 策 略的好处。

结束语

您现在拥有了一个安全的 Blogito。User 拥有了一种登录和退出方法,以及一个可用于执行这些操作 的方便的链接集合,这全部归功于所创建的 LoginTagLib。在某些情况下,只需要登录到应用程序就足够 保证安全性了,正如检验身份验证的 EntryController 中的 beforeInterceptor 所展示的那样。对于其 他情况,角色让授权更加高级。向 User 添加简单的角色允许将用户管理访问限制为只能由管理员执行。

现在 Blogito 已经具备了安全性,在下一期精通 Grails 文章中,我们将关注目前最主要的任务 — 为通过身份验证的用户提供一种方法来上传文件,以及为最终用户提供一种方法来订阅 Atom 提要。具备 了这些功能后,Blogito 将真正成为一个博客应用程序。到那时,请尽情享受精通 Grails 的乐趣吧!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号