रूबी में पटरियों पर प्रमाणीकरण के लिए सर्वश्रेष्ठ समाधान [बंद]


84

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

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

जवाबों:


83

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


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

मैंने आपकी सलाह ली और प्रामाणिक के साथ चला गया, और मैं वास्तव में प्रसन्न हूं। सेटअप करने में थोड़ा अधिक समय लग सकता है, यह बहुत साफ और समझने में आसान है। उत्पन्न कोड का कोई डरावना ढेर नहीं है।
गाइ

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

मैं इसे OpenID और RPXNow के साथ संयोजित करने में सक्षम था, जो कि बहुत ही शानदार था, उदाहरण यहाँ: खरीदारोंvote.com/user_session/new
ब्रायन आर्मस्ट्रांग

उदाहरण परियोजना से उठना और चलना आसान हो जाता है। बस रिपॉजिटरी को क्लोन करें, एक डेटाबेस में कॉपी करें। फाइल को पूरी तरह से तैयार कर लें।
केसी वाटसन

22

मैं वास्तव में रेस्टिफेंट ऑथेंटिकेशन की सिफारिश करूंगा । मुझे लगता है कि यह बहुत वास्तविक मानक है।


1
मैं यह दूसरा होगा। मुझे हाल ही में एक सुंदर जटिल बहु-साइट प्रमाणीकरण प्रणाली को लागू करना पड़ा, जो कि मैं रेस्टफुल ऑउट डिज़ाइन के शीर्ष पर आधारित था, जो बाकी एप्लिकेशन को RA के रूप में समान API प्रदान करता है, निश्चित रूप से आसान के साथ API के साथ काम करने के लिए एक अच्छा स्पष्ट आसान कोड पढ़ें :-)
लॉरी यंग

10

एक बहुत ही सरल समाधान के लिए क्लीयरेंस के साथ जाएं ।

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


1
मैं डेविस के लिए वाउच कर सकता हूं। मैंने इसे अपने ऐप में सेट किया है, और कह सकता है कि इसका उपयोग करना आसान है, कम से कम मेरे लिए एक रिश्तेदार नौसिखिया के रूप में। मैं यहाँ यह के साथ मेरा अनुभव के बारे में ब्लॉग: therealmattslay.blogspot.com/2010/06/...
MattSlay

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


3

बस एक नोट, LoginGenerator और SaltedLoginGenerator को रेस्टिफेंट ऑथेंटिकेशन से अलंकृत किया गया है और नए रेल रिलीज़ पर असमर्थित हैं - उन पर किसी भी समय बर्बाद न करें, हालांकि वे उस समय महान थे।


3

यदि आप किसी चीज़ को और अधिक मजबूत कर रहे हैं, तो मैं एक उत्कृष्ट ट्यूटोरियल / चर्चा को रेस्टेंट ऑथेंटिकेशन की मुख्य कार्यक्षमता को विस्तार देना चाहता हूँ।


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

3

मैं वास्तव में थॉटबोट की मंजूरी पसंद कर रहा हूं। बहुत सरल और कुछ अच्छे हुक हैं और परीक्षण योग्य है।


3

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

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

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



2

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

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

2

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

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

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

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


2

बस इसे अपडेट कर रहे हैं: रयान बेट्स के रेलकास्ट # 250 में खरोंच से एक प्रमाणीकरण प्रणाली का निर्माण दिखाया गया है ...।


2
जबकि एक bespoke ऑर्ट सिस्टम पर RailsCast महान है (और मैंने एक समान सिस्टम को कई बार लागू किया है), यह किसी भी तरह से पूर्व-निर्मित नहीं है और यह उन सभी सुविधाओं को प्रदान नहीं करता है जो डेविस जैसा सेटअप करता है।
कॉलिन आर

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

2
मैं एक पूर्व-निर्मित समाधान की तलाश कर रहा हूं जो मैं अपने आरओआर एप्लिकेशन में उपयोग कर सकता हूं।
कॉलिन आर

0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.