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

精通 Grails: 身份验证和授权

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 空的 login 闭包仅仅表示在您的浏览器中访问 http://localhost:9090/blogito/user/login 将呈现 grails-app/views/user/login.gsp 文件(您稍后即将创建该文件), authenticate 闭包使用了一个方便的 GORM 方

空的 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> 

上一页  1 2 3 4 5 6 7  下一页

Tags:精通 Grails 身份

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