mysql,Linux,HighPerformance,ruby on Rails

2010年3月9日星期二

Code reading:Auth:Clearance

Authentication is a common pattern in Rails apps基本上每个网站都会应用这个模块,所以练熟它是非常必要的。

rails里认证是一个经典的案例,每个开发者应该都会有自己的心得,作为web开发者,
通过实践熟悉这块必不可少。

我先选了Clearance,一个thoughtbot公司产出的代码整理些资料以备后用。
其代码最有特色的地方是使用shoulda和cucumber建立起来的测试流程,很是受用。
测试不是口头的,需要练,但没有代码练好像也不是那么容易,这份代码就是完整的
学习资料。
另外,注意,测试工具没有好坏,rspec,test/unit(shoulda)没有最优的,如果不学用,
它们都是废铁。

实现功能:

   * Register

   * Email confirmation

   * Encrypted password

   * Password recovery



thoughtbot通过项目经验总结出可重用的功能为:

  1. Sign up
  2. Confirm email
  3. Sign in
  4. Sign out
  5. Reset password


操作步骤:
在envirenment.rb加入:
  config.gem "clearance"
在命令行下输入:
script/generate clearance

通过override方法来实现自定义

参考:
1. http://wiki.rubyonrails.org/howtos/authentication-authorization/clearance
2. http://www.slideshare.net/jmorrison/clearance-simple-complete-ruby-web-app-authentication-presentation
3.http://robots.thoughtbot.com/post/159805955/clearance-rails-authentication-for-developers-who
4. http://wiki.rubyonrails.org/howtos/authentication-authorization
5.http://robots.thoughtbot.com/post/159805881/mixing-cucumber-with-test-unit-shoulda
6.http://wiki.github.com/thoughtbot/clearance/organization
7.http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine

没有评论:

发表评论