Pergunta

Estou procurando uma solução pré-construída que possa usar em meu aplicativo RoR.Idealmente, estou procurando algo semelhante à autenticação de formulários ASP.NET que fornece validação de e-mail, controles de inscrição e permite que os usuários redefinam suas senhas.Ah, sim, e permite-me facilmente extrair o usuário que está atualmente conectado ao aplicativo.

Comecei a examinar as peças já escritas, mas achei muito confuso.Eu olhei LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, mas não parece haver um lugar que tenha ótimos tutoriais ou forneça uma comparação entre eles.Se houver um site que ainda não descobri, ou se houver um padrão de fato que a maioria das pessoas usa, eu apreciaria a ajuda.

Foi útil?

Solução

AuthLogic parece ser o novo garoto do mercado e parece ser a próxima evolução do restful_authentication, mais fácil de usar, etc.

http://github.com/binarylogic/authlogic/tree/master

Editar:agora que Rails 3 foi lançado, Devise parece ser o novo garoto do bairro

https://github.com/plataformatec/deviseou estou lançando minha própria autenticação agora com o has_secure_password integrado ao Rails http://railscasts.com/episodes/250-authentication-from-scratch-revised

Nota:Ruby Toolbox é um ótimo site para encontrar a melhor solução atual em várias categorias (com base no número de observadores do GitHub):

http://ruby-toolbox.com/categories/rails_authentication.html

Outras dicas

Eu realmente recomendaria Autenticação tranquila.Acho que é praticamente o padrão de fato.

Para uma solução realmente simples, vá com Liberação.

Se você está procurando mais opções Conceber é uma ótima solução.Ele usa Warden, que é um sistema de autenticação baseado em rack.

Há também Autenticação RestfulOpenIDA se você deseja suporte OpenID além de suporte a senha.

Apenas uma observação: LoginGenerator e SaltedLoginGenerator foram substituídos pelo Restful Authentication e não são suportados nas versões mais recentes do Rails - não perca tempo com eles, embora fossem ótimos na época.

Gostaria também de destacar um excelente tutorial/discussão sobre a extensão da funcionalidade principal do Restful Authentication, caso você esteja procurando por algo um pouco mais robusto.

Estou gostando muito da liberação do Thoughbot.Muito simples e tem alguns ganchos bons e pode ser testado.

AuthLogic parece ser o que você deseja para isso.É muito configurável e, embora não gere o código para você, é bastante fácil de usar.Para validação de e-mail e recuperação de senha você provavelmente desejará usar o :perishable_token coluna.AuthLogic cuida disso, você só precisa redefini-lo quando for usado.Para obter informações sobre como configurar um aplicativo básico, você pode dar uma olhada em Ryan Bates' Railscast na AuthLogic, e o aplicativo de exemplo "oficial".Ben Johnson, o criador do AuthLogic, também escreveu uma postagem no blog sobre como redefinir senhas de forma REST.

Infelizmente não posso postar mais de um link, mas os links para o railscast, a postagem do blog de redefinição de senha e o aplicativo de exemplo estão todos no README (consulte o repositório AuthLogic para o README)

Atualizar:Agora posso postar mais links, então vinculei mais alguns.Obrigado marinatime por adicionar o link enquanto isso

restful_authentication é uma ferramenta poderosa, muito flexível e que fornece muito do que você procura imediatamente.No entanto, algumas advertências:

  1. Não pense em termos de “controles”.No Rails, o modelo, a visualização e o controlador são muito mais independentes do que no ASP.NET 'estilo Webforms'.Descubra o que você deseja de cada camada de forma independente, escreva testes/especificações correspondentes e certifique-se de que cada camada esteja fazendo o que você espera.
  2. Mesmo se você estiver usando um plugin, não há substituto para a leitura (pelo menos parte) do código gerado.Se você tiver uma ideia geral do que está acontecendo nos bastidores, achará a depuração e a personalização muito mais fáceis.

O plugin restful_authentication e outros plugins que o estendem atendem perfeitamente às suas necessidades.Uma pesquisa rápida no github.com revelará muitos tutoriais, exemplos e extensões.Basta ir aqui:
- http://github.com/search?q=restful_authentication

Existem vários projetos que usam restful_authentication apenas para fornecer exemplos de um aplicativo Rails básico apenas com as partes de autenticação.

  1. http://github.com/fudgestudios/bort - Um aplicativo básico de trilhos com:Autenticação RESTful
  2. http://github.com/mrflip/restful_authentication_example -- Outro projeto com um ótimo exemplo de como usar restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial -- O mesmo que acima, com alguns outros plugins incluídos.
  4. http://railscasts.com/episodes/67-restful-authentication -- um ótimo screencast explicando restful_authentication

Essas informações devem ser suficientes para você começar a encontrar cara e coroa...boa sorte.

Apenas atualizando isso:Ryan Bates' Railcast #250 mostra a construção de um sistema de autenticação do zero....

Outra votação para Clearance - talvez não tão personalizável ou tão 'in' quanto authlogic, mas em termos de apenas ser capaz de colocá-lo no lugar e pronto, definitivamente vale a pena dar uma olhada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top