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

精通 Grails: 身份验证和授权

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 人们常常将简洁性误解为缺乏功能,Blogito 仍然不足 200 行代码 — 并且这还包含了单元和集成测试,精通 Grails: 身份验证和授权(10),在命令行输入 grails stats 以确认这点,结果如清单 12 所示,一旦理解了 Grails 的编解码器,就可能打乱数据库

人们常常将简洁性误解为缺乏功能。Blogito 仍然不足 200 行代码 — 并且这还包含了单元和集成测试。在命令行输入 grails stats 以确认这点。结果如清单 12 所示。但是 Blogito 不复杂并不表示它的功能不完备。


清单 12. “微型” 应用程序的大小
$ grails stats 
 
 +----------------------+-------+-------+ 
 | Name         | Files | LOC | 
 +----------------------+-------+-------+ 
 | Controllers     |   2 |  95 | 
 | Domain Classes    |   2 |  32 | 
 | Tag Libraries    |   2 |  21 | 
 | Unit Tests      |   5 |  20 | 
 | Integration Tests  |   1 |  10 | 
 +----------------------+-------+-------+ 
 | Totals        |  12 |  178 | 
 +----------------------+-------+-------+ 

从本系列的第一篇文章开始,我的目标就是向您展示核心 Grails 与生俱来的强大功能,以及 Groovy 语言的简洁的表达能力。例如,一旦理解了 Grails 的编解码器,就可能打乱数据库中存储的密码,而不是以简洁的形式显示出来。创建 grails-app/utils/HashCodec.groovy 并添加清单 13 中的代码:


清单 13. 创建一个简单的 HashCodec
import java.security.MessageDigest 
import sun.misc.BASE64Encoder 
import sun.misc.CharacterEncoder 
 
class HashCodec { 
 static encode = { str -> 
  MessageDigest md = MessageDigest.getInstance('SHA') 
  md.update(str.getBytes('UTF-8')) 
  return (new BASE64Encoder()).encode(md.digest()) 
 } 
} 

上一页  5 6 7 8 9 10 

Tags:精通 Grails 身份

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