精通 Grails: 身份验证和授权
2009-10-26 00:00:00 来源:WEB开发网空的 login 闭包仅仅表示在您的浏览器中访问 http://localhost:9090/blogito/user/login 将呈现 grails-app/views/user/login.gsp 文件(您稍后即将创建该文件)。
authenticate 闭包使用了一个方便的 GORM 方法(findByLoginAndPassword() )执行需要的操作:在数据库中查找 User,该 User 的 login 和 password 匹配表单字段中输入的值,并通过 params hashmap 使用户可用。如果 User 存在的话,将它添加到会话中。如果不存在的话,重定向回登录表单以允许 User 再一次提供正确的凭证。logout 闭包将执行 User 退出,将他或她从会话中删除,然后重定向回 EntryController 中的 list 操作。
现在让我们开始创建 login.gsp。可以手动输入清单 3 中所示的代码,或者可以执行下面的操作:
在命令行输入 grails generate-views User。
将 create.gsp 复制到 login.gsp。
简化生成的代码。
清单 3. login.gsp
<html>
<head>
<meta name="layout" content="main" />
<title>Login</title>
</head>
<body>
<div class="body">
<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>
- ››精通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: 身份验证和授权
更多精彩
赞助商链接