Autenticação com ruby on rails - restful authentication
1. Criando novo projeto de exemplo
rails -d mysql todo
2. gerando um scaffold simples, com o propósito demonstrar como funciona restful authentication
ruby script\generate scaffold todo descricao:text prazo:date feito:boolean
vamos criar também nosso banco de dados para isso não se esqueça de configurar seu arquivo config\database.yml (development)
rake db:create
e executa nossa migration para ele criar a tabela todos:
rake db:migrate
agora é um bom momento para você startar sua aplicação e fazer alguns testes:
ruby script/server
3. Baixando restful authentication
no diretorio raíz do seu do seu projeto
git clone git://github.com/technoweenie/restful-authentication.git vendor/plugins/restful_authentication
para rodar esse comando você irá precisar instalar um cliente git
4. Rodar um generate que irá criar uma estrutura de autenticação em nosso projeto
ruby script\generate authenticated user sessions
Este generate irá criar o user model para você que nada mais é que sua tabela de usuarios
e também irá criar o controlador sessions, que será usado para login e logout.
novamente precisamos executar uma migration para atualizar nosso banco de dados
rake db:migrate
e precisamos incluir o modulo AuthenticatedSystem em nosso application controler (app\controllers\application.rb) para que a nossa infra-estrutura de autenticação fique disponivel para nossa aplicação.
include AuthenticatedSystem
5. vamos alterar no nosso controller todo para pedir autenticação,
para isso basta adicionar a linha:
before_filter :login_required , :except => [:index]
lembre se para cadastrar um novo usuario http://localhost:3000/signup
Pronto esta feito! implementamos nosso sistema de autenticação.
January 29th, 2009 at 8:02 pm
[...] tutorial irei aproveitar aplicação construida no post sobre restful authentication para implementar autenticação por OpenID, vamos [...]
August 4th, 2009 at 11:56 am
Olá Alex, muito bom o post!
Sou novo em Rails e estou vindo do mundo JavaEE! Acho o conceito do Rails fantástico, mas estou apanhando um pouco….
Criei uma aplicação nova e segui todos os passos do seu post, mas quando tento incluir um novo usuário (signup) ele dá um erro estranho que não consegui localizar muitas referências na Web. Poderia me ajudar?
No console, a mensagem é esta:
Processing UsersController#new (for 127.0.0.1 at 2009-08-04 11:49:39) [GET]
NameError (uninitialized constant User::Authentication):
app/models/user.rb:4
app/controllers/users_controller.rb:8:in `new’
Segue a mensagem de erro no browser:
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:105:in `const_missing’
/home/ricardo/Desenvolvimento/rails/orionasp/app/models/user.rb:4
/home/ricardo/Desenvolvimento/rails/orionasp/app/controllers/users_controller.rb:8:in `new’
Será que pode ser algum problema com incompatibilidade de versões? Segue descrição da minha instalação:
Ruby version 1.8.7 (i486-linux)
RubyGems version 1.3.5
Rack version 1.0
Rails version 2.3.3
Active Record version 2.3.3
Action Pack version 2.3.3
Active Resource version 2.3.3
Action Mailer version 2.3.3
Active Support version 2.3.3
Application root /home/ricardo/Desenvolvimento/rails/orionasp
Environment development
Database adapter mysql
Database schema version 20090804144506
Obrigado e um abraço!
August 5th, 2009 at 9:24 am
vc colocou “include AuthenticatedSystem” no application.rb ?