Ruby on Rails'te Kimlik Doğrulaması İçin En İyi Çözüm [kapalı]


84

RoR uygulamamda kullanabileceğim önceden oluşturulmuş bir çözüm arıyorum. İdeal olarak, e-posta doğrulaması, kayıt denetimleri sağlayan ve kullanıcıların parolalarını sıfırlamasına olanak tanıyan ASP.NET Forms kimlik doğrulamasına benzer bir şey arıyorum. Oh evet ve şu anda uygulamaya giriş yapmış olan kullanıcıyı kolayca çekmeme izin veriyor.

Önceden yazılmış parçaları incelemeye başladım, ancak gerçekten kafa karıştırıcı buldum. LoginGenerator, RestfulAuthentication, SaltedLoginGenerator'a baktım, ancak harika öğreticiler içeren veya bunların bir karşılaştırmasını sağlayan tek bir yer yok gibi görünüyor. Henüz keşfetmediğim bir site varsa veya çoğu insanın kullandığı fiili bir standart varsa, yardım eli için minnettar olurum.

Yanıtlar:


83

AuthLogic bloktaki yeni çocuk gibi görünüyor ve restful_authentication'ın bir sonraki evrimi, kullanımı daha kolay, vb.

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

Düzenleme: Rails 3 çıktı, Devise bloktaki yeni, yeni çocuk gibi görünüyor

https://github.com/plataformatec/devise veya şu anda has_secure_passwordyerleşik Rails http://railscasts.com/episodes/250-authentication-from-scratch-revised ile kendi kimlik doğrulamamı kullanıyorum

Yan not: Ruby Toolbox, çeşitli kategorilerde mevcut en iyi çözümü bulmak için harika bir sitedir (GitHub izleyicilerinin sayısına bağlı olarak):

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


Ben de gerçekten otantik kullanmayı düşünürdüm. restful_auth'tan çok daha temiz. Authlogic önceki tüm çözümlerden öğrendi ve bunları daha temiz, daha özelleştirilebilir bir çözümle yeniden paketledi
taelor

Tavsiyenizi dinledim ve Authlogic ile gittim ve gerçekten memnunum. Kurulumu biraz daha uzun sürebilir, neyin çok temiz ve anlaşılması kolaydır. Üretilen kodun korkunç yığınları yoktur.
Guy C

Evet, kurulumu daha uzun sürüyor. Keşke oradaki soyutlamayı biraz kaldırmış ve unutulmuş şifre ve e-posta onayları gibi herkesin ihtiyaç duyduğu şeylerle gönderilmiş olsaydı. Ama genel olarak, hala oldukça iyi.
Brian Armstrong

Bunu OpenID ve RPXNow ile de birleştirebildim, bu harika oldu, örnek burada: alıcılarvote.com/user_session/new
Brian Armstrong

Örnek proje, kurup çalıştırmayı çok kolaylaştırıyor. Depoyu klonlayın, bir veritabanı.yml dosyasına kopyalayın ve tamamen doğrulanmış bir siteniz hazır olsun.
Casey Watson

22

Restful Authentication'ı gerçekten tavsiye ederim . Bunun hemen hemen fiili standart olduğunu düşünüyorum.


1
Bunu ikinci yapardım. Kısa bir süre önce, RestfulAuth tasarımına dayalı olarak oldukça karmaşık bir çok siteli kimlik doğrulama sistemi uygulamak zorunda kaldım, uygulamanın geri kalanına RA'nın yapacağı gibi aynı API'yi sağlıyor, Kesinlikle kolay ve kolay API ile çalışmak kodu oku :-)
Laurie Young

10

Gerçekten basit bir çözüm için Clearance ile gidin .

Daha fazla seçenek arıyorsanız, Devise harika bir çözümdür. Raf tabanlı bir kimlik doğrulama sistemi olan Warden'ı kullanır.


1
Devise'a kefil olabilirim. Uygulamamda kurdum ve en azından göreceli bir acemi olarak benim için kullanımının kolay olduğunu söyleyebilirim. Bununla ilgili deneyimim hakkında blog yazdım: therealmattslay.blogspot.com/2010/06/…
MattSlay

Üzgünüz ... İşte düzeltilmiş bağlantı: mattslay.com/devise-authentication-for-rails
MattSlay


3

Sadece bir not, LoginGenerator ve SaltedLoginGenerator, Restful Authentication tarafından değiştirildi ve daha yeni Rails sürümlerinde desteklenmiyor - o zamanlar harika olsalar da, bunlarla zaman kaybetmeyin.


3

Ayrıca , biraz daha sağlam bir şey arıyorsanız, Restful Authentication'ın temel işlevlerini genişletme konusunda mükemmel bir öğretici / tartışmaya da dikkat çekmek isterim .


1
Lütfen beni çok kaba düşünmeyin, ancak forum girişinin Huzurlu Kimlik Doğrulamanın en kötü kısmına bir örnek olduğunu düşünüyorum. Çok sayıda eksik özellik var ve işte bu özellikleri birer birer eklemek için süper uzun (ve çelişkili) adımlar dizisi. DRY'nin tersi ne olursa olsun, bu kadar eminim. Sadece kendinizi tekrar etmiyorsunuz, baştan itibaren RA için dahil edilmesi veya isteğe bağlı olması gereken şeyleri dahil etmek için yüzlerce başka geliştiriciyi tekrarlıyorsunuz.
John Munsch

3

Düşünce robotunun yetkisini gerçekten beğeniyorum. Çok basit ve birkaç iyi kancası var ve test edilebilir.


3

AuthLogic bunun için istediğiniz gibi görünüyor. Oldukça yapılandırılabilir ve sizin için kodu oluşturmasa da kullanımı oldukça kolaydır. E-posta doğrulaması ve şifre kurtarma için muhtemelen :perishable_tokensütunu kullanmak istersiniz . AuthLogic ilgilenir, yalnızca kullanıldığında sıfırlamanız gerekir. Temel bir uygulamanın nasıl kurulacağına ilişkin bilgi için , AuthLogic'te Ryan Bates'in Railscast'ına ve "resmi" örnek uygulamaya bakabilirsiniz . AuthLogic'in yaratıcısı Ben Johnson, şifrelerin nasıl GERİ tamamen sıfırlanacağına dair bir blog yazısı da yazdı.

Maalesef birden fazla bağlantı gönderemiyorum, ancak railscast, şifre sıfırlama blog gönderisi ve örnek uygulamanın bağlantılarının tümü README'de (README için AuthLogic deposuna bakın)

Güncelleme: Artık daha fazla bağlantı gönderebilirim, böylece biraz daha bağlantı kurdum. Bu arada bağlantıyı eklediğiniz için teşekkürler marinatime



2

restful_authentication çok esnek olan ve aradığınızın çoğunu kutudan çıkaran güçlü bir araçtır. Ancak, birkaç uyarı:

  1. 'Kontroller' açısından düşünmeyin. Rails'de Model, View ve Controller, 'Webforms tarzı' ASP.NET'dekinden çok daha bağımsızdır. Her katmandan bağımsız olarak ne istediğinizi hesaplayın, eşleşecek testleri / spesifikasyonları yazın ve her katmanın beklediğiniz şeyi yaptığından emin olun.
  2. Bir eklenti kullanıyor olsanız bile, üretilen kodun (en azından bir kısmını) okumanın yerine geçmez. Kaputun altında neler olduğuna dair büyük bir fikriniz varsa, hata ayıklamayı ve özelleştirmeyi çok daha kolay bulacaksınız.

2

Restful_authentication eklentisi ve onu genişleten diğer eklentiler, ihtiyaçlarınızı mükemmel şekilde karşılar. Github.com'da hızlı bir arama, birçok öğretici, örnek ve uzantı ortaya çıkaracaktır. Buraya gitmeniz yeterli:
- http://github.com/search?q=restful_authentication

Restful_authentication'ı yalnızca kimlik doğrulama bölümleriyle çıplak kemikler Rails uygulamasının örneklerini sağlamak için kullanan birkaç proje vardır.

  1. http://github.com/fudgestudios/bort - Aşağıdakileri içeren bir temel ray uygulaması: RESTful Authentication
  2. http://github.com/mrflip/restful_authentication_example - restful_authentication'ın nasıl kullanılacağına dair harika bir sınava sahip başka bir proje
  3. http://github.com/activefx/restful_authentication_tutorial - Yukarıdaki ile aynı, diğer bazı eklentiler paket halinde.
  4. http://railscasts.com/episodes/67-restful-authentication - restful_authentication'ı açıklayan harika bir ekran video kaydı

Bu bilgi yazı ve tura bulmaya başlamanız için yeterli olmalı ... iyi şanslar.


2

Sadece bunu güncelliyor: Ryan Bates Railscast # 250 sıfırdan bir kimlik doğrulama sistemi oluşturmayı gösteriyor ...


2
Ismarlama bir kimlik doğrulama sistemindeki RailsCast harika olsa da (ve benzer bir sistemi birçok kez uyguladım), hiçbir şekilde önceden oluşturulmuş değil ve Devise gibi bir kurulumun yaptığı tüm özellikleri sağlamıyor.
Colin R

Kabul edildi, ancak Devise oldukça hantal olabilir. Bana göre, Devise'ın sunduğu özelliklerden tam olarak yararlanmayacaksanız, kendi kimlik doğrulama sisteminizi kurarak çok fazla zaman ve kalp ağrısından tasarruf edebilirsiniz.
Adam Jonas

2
RoR uygulamamda kullanabileceğim önceden oluşturulmuş bir çözüm arıyorum.
Colin R

0

Gümrükleme için başka bir oy - belki de özelleştirilebilir ya da otolojik kadar 'in' değil, ancak sadece yerine bırakıp gidebilme açısından, kesinlikle bir göz atmaya değer.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.