2008-08-23 9 views
82

मैं अपने पूर्व संसाधन समाधान की तलाश में हूं जो मैं अपने आरओआर आवेदन में उपयोग कर सकता हूं। मैं आदर्श रूप से एएसपी.नेट फॉर्म प्रमाणीकरण के समान कुछ ढूंढ रहा हूं जो ईमेल सत्यापन, साइन-अप नियंत्रण प्रदान करता है, और उपयोगकर्ताओं को अपने पासवर्ड रीसेट करने की अनुमति देता है। ओह हाँ, और आसानी से मुझे उस उपयोगकर्ता को खींचने की अनुमति देता है जो वर्तमान में एप्लिकेशन में लॉग इन है।रेल पर रूबी में प्रमाणीकरण के लिए सर्वश्रेष्ठ समाधान

मैंने पहले से ही लिखे गए टुकड़ों को देखना शुरू कर दिया है, लेकिन मुझे यह वास्तव में भ्रमित करने में मिला है। मैंने LoginGenerator, RestfulAuthentication, SaltedLoginGenerator को देखा है, लेकिन ऐसा कोई प्रतीत नहीं होता है जिसमें महान ट्यूटोरियल हों या उनकी तुलना करें। यदि कोई ऐसी साइट है जिसे मैंने अभी तक नहीं खोजा है, या यदि कोई वास्तविक तथ्य है जो अधिकांश लोग उपयोग करते हैं, तो मैं मदद हाथ की सराहना करता हूं।

उत्तर

82

AuthLogic खंड पर नई बच्चे हो गया लगता है और, restful_authentication के अगले विकास होने के लिए उपयोग में आसान लगता है, आदि

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

संपादित करें: अब है कि रेल 3 बाहर है, तैयार करने लगता है ब्लॉक

https://github.com/plataformatec/devise या मैं has_secure_password रेल करने के लिए बनाया के साथ अब अपने ही प्रमाणीकरण रोलिंग दिया है पर नई, नए बच्चे हो http://railscasts.com/episodes/250-authentication-from-scratch-revised

साइड नोट:

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

+0

मैं वास्तव में ऑथलॉगिक का उपयोग करने पर विचार करता हूं।restful_auth की तुलना में यह बहुत साफ है। ऑथलॉगिक ने पिछले सभी समाधानों से सीखा और उन्हें एक क्लीनर, अधिक अनुकूलन समाधान – taelor

+0

में दोबारा तैयार किया, मैंने आपकी सलाह ली और एथलॉगिक के साथ चला गया, और मैं वास्तव में प्रसन्न हूं। सेटअप करने के लिए थोड़ा सा समय लग सकता है, यह कितना साफ और समझने में आसान है। जेनरेट कोड की कोई डरावनी ढेर नहीं है। –

+0

हाँ, यह def सेटअप करने में अधिक समय लगता है। काश है कि उसने वहां थोड़ी सी अमूर्तता को हटा दिया था और इसे भूल गए पासवर्ड की तरह सभी चीज़ों के साथ जहाज भेज दिया था, और ईमेल पुष्टिकरण शामिल थे। लेकिन कुल मिलाकर, यह अभी भी बहुत अच्छा है। –

21

मैं वास्तव में Restful Authentication की अनुशंसा करता हूं। मुझे लगता है कि यह काफी वास्तविक मानक है।

+1

मैं दूसरे होगा यह। मुझे हाल ही में एक सुंदर जटिल बहु-साइट प्रमाणीकरण प्रणाली को कार्यान्वित करना पड़ा, जिसे मैं RestfulAuth डिज़ाइन के शीर्ष पर आधारित करता हूं, आरए के रूप में शेष एप्लिकेशन को एक ही एपीआई प्रदान करता है, निश्चित रूप से एपीआई के साथ काम करने के लिए एक आसान स्पष्ट आसान है कोड पढ़ें :-) –

3

यदि आप पासवर्ड समर्थन के अलावा ओपनआईडी समर्थन चाहते हैं तो RestfulOpenIDAuthentication भी है।

3

बस एक नोट, लॉग इन जेनरेटर और नमकीन लॉजिनेनरेटर को स्थायी प्रमाणीकरण द्वारा हटा दिया गया है और नए रेल रिलीज पर असमर्थित हैं - उन पर किसी भी समय बर्बाद न करें, हालांकि वे उस समय महान थे।

4

यदि आप कुछ और अधिक मजबूत खोज रहे हैं, तो मैं आराम से प्रमाणीकरण की मूल कार्यक्षमता को विस्तारित करने के लिए एक उत्कृष्ट tutorial/discussion को इंगित करना चाहता हूं।

+1

कृपया मुझे बहुत कठोर मत सोचो, लेकिन मुझे लगता है कि फोरम एंट्री विश्वसनीय प्रमाणीकरण के सबसे बुरे हिस्से का एक उदाहरण है। गायब सुविधाओं की एक भीड़ है और यहां एक समय में उन सुविधाओं को जोड़ने के लिए चरणों का एक बहुत लंबा (और विरोधाभासी) सेट है। जो भी DRY के विपरीत है, मुझे पूरा यकीन है कि यह है। केवल आप ही खुद को दोहराना नहीं चाहते हैं, आप सैकड़ों अन्य डेवलपर्स को दोबारा शुरू कर रहे हैं जिसमें सामान शामिल हैं जिन्हें आरए के लिए आरए के लिए शामिल किया जाना चाहिए या वैकल्पिक होना चाहिए। –

2

restful_authentication एक शक्तिशाली उपकरण है जो बहुत लचीला है और जो भी आप बॉक्स से बाहर खोज रहे हैं उसे प्रदान करता है। हालांकि, कुछ चेतावनी:

  1. 'नियंत्रण' के संदर्भ में मत सोचें। रेल में मॉडल, व्यू और कंट्रोलर 'वेबफॉर्म-स्टाइल' एएसपी.NET की तुलना में अधिक स्वतंत्र हैं। प्रत्येक परत से स्वतंत्र रूप से आप जो चाहते हैं उसे बाहर निकालें, मिलान करने के लिए परीक्षण/चश्मे लिखें और सुनिश्चित करें कि प्रत्येक परत जो आप उम्मीद कर रही है वह कर रही है।
  2. भले ही आप प्लगइन का उपयोग कर रहे हों, यहां तक ​​कि उत्पन्न कोड के पढ़ने (कम से कम कुछ) के लिए कोई विकल्प नहीं है। यदि आपके पास हुड के नीचे क्या हो रहा है, इसका एक बड़ा चित्र विचार है, तो आपको डिबगिंग और कस्टमाइज़िंग बहुत आसान मिल जाएगी।
2

प्लगइन restful_authentication और अन्य प्लगइन्स जो इसे बढ़ाते हैं, पूरी तरह से आपकी आवश्यकताओं का उत्तर देते हैं। Github.com पर एक त्वरित खोज से कई ट्यूटोरियल, उदाहरण और विस्तारक प्रकट होंगे। बस यहां जाएं:
- http://github.com/search?q=restful_authentication

कई परियोजनाओं कि restful_authentication का उपयोग सिर्फ सिर्फ प्रमाणीकरण भागों के साथ एक नंगे हड्डियों रेल एप्लिकेशन के उदाहरण प्रदान करने के लिए कर रहे हैं।

  1. http://github.com/fudgestudios/bort - विशेषता एक आधार रेल एप्लिकेशन: RESTful प्रमाणीकरण
  2. http://github.com/mrflip/restful_authentication_example - बंडल कुछ अन्य प्लग इन के साथ उपरोक्त के समान, - कैसे restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial उपयोग करने के लिए का एक बड़ा examlpe के साथ एक और परियोजना।
  4. http://railscasts.com/episodes/67-restful-authentication - एक महान स्क्रीनकास्ट समझा restful_authentication

यह जानकारी आप सिर और पूंछ ... अच्छी किस्मत की खोज आरंभ करने के लिए पर्याप्त होना चाहिए।

3

AuthLogic आप इस के लिए क्या चाहते हो रहा है: रूबी टूलबॉक्स विभिन्न श्रेणियों में मौजूदा सबसे अच्छा समाधान (GitHub पर नजर रखने वालों की संख्या के आधार पर) को खोजने के लिए एक महान साइट है। यह बहुत विन्यास योग्य है, और हालांकि यह आपके लिए कोड उत्पन्न नहीं करता है, इसका उपयोग करना काफी आसान है। ईमेल सत्यापन और पासवर्ड रिकवरी के लिए आप शायद :perishable_token कॉलम का उपयोग करना चाहते हैं। ऑथलोगिक इसका ख्याल रखता है, इसे इस्तेमाल होने पर आपको इसे रीसेट करने की आवश्यकता होती है। मूल ऐप कैसे सेट अप करें, इस बारे में जानकारी के लिए, आप रयान बेट्स के Railscast on AuthLogic और "आधिकारिक" उदाहरण ऐप पर एक नज़र डाल सकते हैं। ऑथलोगिक के निर्माता बेन जॉनसन ने पासवर्ड पोस्ट को रीसेट रीसेट करने के तरीके पर एक ब्लॉग पोस्ट भी लिखा है।

दुर्भाग्य से मैं एक से अधिक लिंक पोस्ट नहीं कर सकते, लेकिन railscast, पासवर्ड रीसेट ब्लॉग पोस्ट और उदाहरण ऐप्लिकेशन के लिंक README में सभी कर रहे हैं (README के ​​लिए AuthLogic रेपो देखें)

अपडेट: अब मैं और लिंक पोस्ट कर सकता हूं, इसलिए मैंने कुछ और लिंक किया। इस बीच

+0

रेलस्कास्ट लिंक - http://railscasts.com/episodes/160-authlogic – martinatime

3

में लिंक जोड़ने के लिए आपको धन्यवाद। मुझे वास्तव में विचार-विमर्श की मंजूरी पसंद है। बहुत सरल और कुछ अच्छे हुक हैं और टेस्टेबल है।

0

क्लीयरेंस के लिए एक और वोट - शायद अनुकूलन के रूप में या 'इन' के रूप में 'इन' के रूप में नहीं, लेकिन बस इसे जगह में छोड़ने और जाने के मामले में, यह निश्चित रूप से देखने के लायक है।

10

वास्तव में एक सरल समाधान के लिए Clearance के साथ जाएं।

यदि आप अधिक विकल्प ढूंढ रहे हैं Devise एक अच्छा समाधान है। यह वार्डन का उपयोग करता है जो एक रैक आधारित प्रमाणीकरण प्रणाली है।

+1

मैं डेविस के लिए झुका सकता हूं। मैंने इसे अपने ऐप में सेट किया है, और कह सकता है कि कम से कम मेरे लिए रिश्तेदार नौसिखिया के रूप में उपयोग करना आसान है। मैंने यहां इसके अनुभव के बारे में ब्लॉग किया: http://therealmattslay.blogspot.com/2010/06/devise-authentication-for-rails.html – MattSlay

+0

@ मैटस्ले लिंक मर चुका है –

+0

क्षमा करें ... यहां सही लिंक है: http : //mattslay.com/devise-authentication-for-rails/ – MattSlay

2

बस इस अद्यतन करने: खरोंच से निर्माण रयान बेट्स 'Railscast #250 शो एक प्रमाणीकरण प्रणाली ....

+2

जबकि एक bespoke लेख प्रणाली पर RailsCast महान है (और मैंने एक ही प्रणाली को कई बार लागू किया है), यह पूर्व निर्मित नहीं है और प्रदान नहीं करता है डेविस जैसे सेटअप की सभी सुविधाएं। –

+0

सहमत हुए, लेकिन देवता काफी भारी हो सकती है। मेरी राय में, जब तक आप वास्तव में डेविस ऑफ़र की सुविधाओं का लाभ उठाने के लिए पूरी तरह से लाभ नहीं ले लेते हैं, तब तक आपके स्वयं के ऑथ सिस्टम का निर्माण करके बहुत समय और दिल-दर्द बचाया जा सकता है। –

+2

_ मैं एक पूर्व-निर्मित समाधान की तलाश में हूं जो मैं अपने RoR application._ में उपयोग कर सकता हूं –

संबंधित मुद्दे