Restful Authentication插件为你生成一个REST风格的认证系统模板,除了支持最基本的用户管理和认证功能外,还有一个可选的邮件激活功能。
作者:Rick Olson
许可: Rails’ (MIT)
SVN仓库:http://svn.techno-weenie.net/projects/plugins/restful_authentication/
安装
$ ./script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/
使用
1. 生成框架代码
./script/generate authenticated user sessions --include-activation
这将会生成一个model,以及两个controller:
- models/user.rb,保存用户的登录信息
- controllers/users_controller.rb,提供简单的用户管理功能
- controllers/sessions_controller.rb,提供用户认证支持
–include-activation参数决定是否生成向新注册用户发送激活码的代码。
2. 增加路由
map.resources :users
map.resource :session
3. 如果你使用Rails 1.2.3,那么还需要在route.rb中增加:
map.resource :session, :controller => 'sessions'
map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'
4. 最后,还需要在config/environment.rb中为user model增加一个observer
config.active_record.observers = :user_observer
5. 这一步是可选的,如果你想你的URL看起来更符合惯例一些,那么在route.rb中添加:
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'