一个带完整的RBAC授权系统的rails应用
http://www.javaeye.com/topic/215074
RESTful_ACL
declarative_authorization
aegis
cancan http://github.com/ryanb/cancan
Authologic
acl9 http://github.com/be9/acl9
role_requirement http://github.com/timcharper/role_requirement
ActiveRbac
restful_authentication1,ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/
项目右键->rails 插件->资源库里添加url:http://svn.techno-weenie.net/projects/plugins
->新插件里找到
restful_authentication然后安装2, ruby script/generate authenticated user sessions
Right-click on your application in the projects pane and choose
"Generate". In the dialog box that comes up, choose "authenticated"
from the drop-down "Generator" menu near the top, and in the arguments
field enter "user sessions" (without the quotes). Hit OK.
----------------------------------------------------------------------
Don't forget to:
Try these for some familiar login URLs if you like:
map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate', :activation_code => nil
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
----------------------------------------------------------------------
create app/views/sessions
create app/views/users
create app/models/user.rb
create app/controllers/sessions_controller.rb
create app/controllers/users_controller.rb
create lib/authenticated_system.rb
create lib/authenticated_test_helper.rb
create test/functional/sessions_controller_test.rb
create test/functional/users_controller_test.rb
create test/unit/user_test.rb
create test/fixtures/users.yml
create app/helpers/sessions_helper.rb
create app/helpers/users_helper.rb
create app/views/sessions/new.html.erb
create app/views/users/new.html.erb
create db/migrate/20100218184435_create_users.rb
route map.resource :session
route map.resources :users
运行测试时要把SessionsControllerTest和UsersControllerTest都改为继承ActionController::TestCase,同时把fixtures :users注释掉。
要使用current_user和logged_in? helper方法的话要在ApplicationController里
include AuthenticatedSystem resource与resources的区别见http://api.rubyonrails.org/classes/ActionController/Resources.html
http://www.javaeye.com/topic/353831
http://www.javaeye.com/topic/177508
http://hideto.javaeye.com/blog/115157
https://github.com/nakajima/roleful