Domanda

Sto cercando una soluzione predefinita da poter utilizzare nella mia applicazione RoR.Idealmente sto cercando qualcosa di simile all'autenticazione ASP.NET Forms che fornisca la convalida della posta elettronica, i controlli di iscrizione e consenta agli utenti di reimpostare le proprie password.Oh sì, e mi consente facilmente di richiamare l'utente che ha attualmente effettuato l'accesso all'applicazione.

Ho iniziato a esaminare i pezzi già scritti, ma ho trovato che fosse davvero confuso.Ho esaminato LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, ma non sembra esserci un posto che abbia ottimi tutorial o che ne fornisca un confronto.Se c'è un sito che non ho ancora scoperto, o se esiste uno standard di fatto utilizzato dalla maggior parte delle persone, apprezzerei l'aiuto.

È stato utile?

Soluzione

AuthLogic sembra essere il nuovo arrivato e sembra essere la prossima evoluzione di restful_authentication, più facile da usare, ecc.

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

Modificare:ora che Rails 3 è uscito, Devise sembra essere il nuovo, nuovo ragazzo sul blocco

https://github.com/plataformatec/deviseoppure ora sto eseguendo la mia autenticazione con il file has_secure_password integrato in Rails http://railscasts.com/episodes/250-authentication-from-scratch-revised

Nota a margine:Ruby Toolbox è un ottimo sito per trovare la migliore soluzione attuale in varie categorie (in base al numero di osservatori GitHub):

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

Altri suggerimenti

Lo consiglierei davvero Autenticazione riposante.Penso che sia praticamente lo standard di fatto.

Per una soluzione davvero semplice, segui Liquidazione.

Se stai cercando più opzioni Ideare è un'ottima soluzioneUtilizza Warden che è un sistema di autenticazione basato su rack.

C'è anche RestfulOpenIDAuthentication se desideri il supporto OpenID oltre al supporto per la password.

Solo una nota: LoginGenerator e SaltedLoginGenerator sono stati sostituiti da Restful Authentication e non sono supportati nelle versioni più recenti di Rails: non perdere tempo con loro, anche se all'epoca erano fantastici.

Vorrei anche sottolineare un eccellente tutorial/discussione sull'estensione delle funzionalità principali dell'autenticazione riposante, nel caso tu stia cercando qualcosa di un po' più robusto.

Mi piace davvero l'autorizzazione di Thoughtbot.Molto semplice, ha alcuni buoni ganci ed è testabile.

AuthLogic sembra essere quello che vuoi per questo.È molto configurabile e, sebbene non generi il codice per te, è abbastanza facile da usare.Per la convalida della posta elettronica e il recupero della password probabilmente vorrai utilizzare il file :perishable_token colonna.AuthLogic se ne occupa, devi solo reimpostarlo quando viene utilizzato.Per informazioni su come configurare un'app di base, puoi dare un'occhiata a Ryan Bates Railscast su AuthLogic, e l'app di esempio "ufficiale".Ben Johnson, il creatore di AuthLogic, ha anche scritto un post sul blog su come reimpostare le password in modo REST.

Sfortunatamente non posso pubblicare più di un collegamento, ma i collegamenti al railscast, al post sul blog per la reimpostazione della password e all'app di esempio sono tutti nel README (vedere il repository AuthLogic per il README)

Aggiornamento:Ora posso pubblicare più collegamenti, quindi ne ho collegati altri.Grazie marinatime per aver aggiunto il collegamento nel frattempo

restful_authentication è uno strumento potente che è molto flessibile e fornisce la maggior parte di ciò che stai cercando immediatamente.Tuttavia, un paio di avvertenze:

  1. Non pensare in termini di "controlli".In Rails il modello, la vista e il controller sono molto più indipendenti rispetto ad ASP.NET in stile Webform.Scopri cosa vuoi da ogni livello in modo indipendente, scrivi test/specifiche che corrispondano e assicurati che ogni livello faccia ciò che ti aspetti.
  2. Anche se stai utilizzando un plugin non c'è nulla che possa sostituire la lettura (almeno di una parte) del codice generato.Se hai un'idea generale di cosa sta succedendo sotto il cofano, troverai il debug e la personalizzazione molto più semplici.

Il plugin restful_authentication e altri plugin che lo estendono rispondono perfettamente alle tue esigenze.Una rapida ricerca su github.com rivelerà molti tutorial, esempi ed estensioni.Basta andare qui:
- http://github.com/search?q=restful_authentication

Esistono diversi progetti che utilizzano restful_authentication solo per fornire esempi di un'app Rails semplice con solo le parti di autenticazione.

  1. http://github.com/fudgestudios/bort -- Un'app per binari di base con:Autenticazione RESTful
  2. http://github.com/mrflip/restful_authentication_example -- Un altro progetto con un ottimo esempio di come utilizzare restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial -- Come sopra, con alcuni altri plugin in bundle.
  4. http://railscasts.com/episodes/67-restful-authentication -- un ottimo screencast che spiega restful_authentication

Queste informazioni dovrebbero essere sufficienti per iniziare a trovare testa e croce...buona fortuna.

Sto aggiornando questo:Ryan Bates' Railcast #250 mostra la creazione di un sistema di autenticazione da zero....

Un altro voto a favore dell'autorizzazione, forse non così personalizzabile o "in" come Authlogic, ma in termini di possibilità di metterlo a posto e partire, vale sicuramente la pena dargli un'occhiata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top