快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
quot;>     <h1>Login</h1>     <g:if test="${flash.message}">      <div class="message">${flash.message}</div>     </g:if>     <g:form action="authenticate" method="post" >      <div class="dialog">       <table>        <tbody>         <tr class="prop">          <td class="name">           <label for="login">Login:</label>          </td>          <td>           <input type="text" id="login" name="login"/>          </td>         </tr>         <tr class="prop">          <td class="name">           <label for="password">Password:</label>          </td>          <td>           <input type="password" id="password" name="password"/>          </td>         </tr>        </tbody>       </table>      </div>      <div class="buttons">       <span class="button">        <input class="save" type="submit" value="Login" />       </span>      </div>     </g:form>    </div>   </body> </html>

精通Grails: 身份验证和授权(3)

时间:2011-08-02 IBM Scott Davis

注意,表单的 action 是 authenticate,它匹配 UserController.groovy 中的闭包的名称。输入元 素( login 和 password )中的名称对应于 authenticate 闭包中的 params.login 和 params.password。

输入 grails run-app 并运行您的身份验证基础设施。尝试使用密码 foo 以 jsmith 的身份登录(记 住在 “用定制 URI 和 codec 优化 Grails 中的 URI” 中,您在 grails-app/conf/BootStrap.groovy 中为 Blogito 提供了一些用户)。您的登录将失败,如图 1 所示:

图 1. 失败的登录尝试,显示错误消息

再次以 jsmith 的身份和密码 wordpass 尝试登录。这一次应当成功。

如果欢迎消息没有出现在 grails-app/views/entry/list.gsp 中 — 并且它不应该出现 — 那么只需 将 <g:if test="${flash.message}"> 块从 login.gsp 复制到 list.gsp 文件的顶部。再次以 jsmith 身份登录,检验现在是否显示了如图 2 所示的消息:

图 2. 确认成功登录的 Flash 消息

现在可以确定身份验证能够正常工作,应当创建一个 TagLib 来简化登录和退出。

精通Grails: 身份验证和授权(4)

时间:2011-08-02 IBM Scott Davis

创建一个身份验证 TagLib

像 Google 和 Amazon 这样的 Web 站点在标题处提供了一个不太显眼的文本链接,允许您登录和退出 。您只需要几行代码就可以在 Grails 中实现这一点。

首先,在命令提示下输入 grails create-tag-lib Login。将清单 4 中的代码添加到新创建的 grails-app/taglib/LoginTagLib.groovy 中:

清单 4. LoginTagLib.groovy

class LoginTagLib {   def loginControl = {    i

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号