2013-04-12 2 views
5

मैं रेल नोब पर रूबी हूं। इसके विपरीत मैं अपने एचटीएमएल सीएसएस जावास्क्रिप्ट और jQuery में काफी अच्छा हूं। हाल ही में मैं माइकल हार्टल द्वारा इस ट्यूटोरियल का उपयोग करके रेल पर रूबी में आया: http://ruby.railstutorial.org/ruby-on-rails-tutorial-bookरेलवे नोब का उपयोग जेम डेविस का उपयोग क्यों नहीं करना चाहिए?

लेकिन हां, मैं अपनी खुद की परियोजना बनाने की कोशिश कर रहा हूं और प्रमाणीकरण करने के लिए एक आसान तरीका के रूप में gem devise का उपयोग कर रहा हूं। क्योंकि शुरुआत के लिए प्रमाणीकरण करना मुश्किल है। हालांकि, हर कोई इस बात का जिक्र कर रहा है कि नोबों को इस मणि का उपयोग नहीं करना चाहिए।

नोब का उपयोग अपनी परियोजना के लिए क्यों नहीं करना चाहिए?

किसी भी सुझाव के लिए धन्यवाद लेकिन मैं एक वर्बोज़ जवाब पसंद करूंगा।

+2

क्या आप हमेशा उन लोगों को सुनते हैं जो आपको बताते हैं कि आप चीजें नहीं कर सकते हैं? कोशिश करो। यदि आप इसे प्रबंधित करते हैं, अच्छा, अगर आप नहीं करते हैं, तो मदद मांगें। आपका वर्तमान प्रश्न, हालांकि, विषय-वस्तु है। –

+2

@ सेबेस्टियन रेनौल्ड मुझे नहीं लगता कि यह विषय बंद है। अगर कुछ भी बुरी तरह से phrased है, लेकिन यह मेरी राय में एक वैध सवाल है। – Mohamad

+0

@ मोहम्मद: यह वास्तव में बुरी तरह से phrased है। "उपयोग करने में आसान है/मैं कैसे उपयोग कर सकता हूं?" "नोब का उपयोग क्यों नहीं करना चाहिए?" से बहुत कम व्यक्तिपरक/पक्षपातपूर्ण होता। पहले सलाह के लिए पूछता है, राय के लिए दूसरा। –

उत्तर

7

मैं अब तक दिए गए सलाह से पूरी तरह से असहमत हूं, जिसमें अन्य उत्तरों भी शामिल हैं।

अपने स्वयं के प्रमाणीकरण को रोल करना, खासकर शुरुआत के रूप में, अपने उपयोगकर्ताओं को जोखिम में रखने का एक अच्छा तरीका है। सुरक्षा (और विशेष रूप से क्रिप्टो) कठिन है और यदि आपको अनुभव है तो भी आपको शायद यह गलत लगेगा।

यदि आप जानना चाहते हैं कि पासवर्ड-आधारित प्रमाणीकरण कैसे काम करता है (और आपको चाहिए), इसे अपने खाली समय पर सीखें। अपने उपयोगकर्ताओं को परीक्षण विषयों को अनदेखा न करें और अपनी गोपनीयता को जोखिम में रखें।

+3

मैं सिद्धांत रूप से सहमत हूं। लेकिन ऐसी कई अन्य चीजें हैं जो आपके उपयोगकर्ताओं को जोखिम में डाल सकती हैं। फ्रेमवर्क या भाषा के काम के समान जोखिम पैदा करने के बारे में कोई वास्तविक ज्ञान के बिना अनुप्रयोगों का निर्माण करना। मैं तर्क दूंगा कि सुरक्षा के मौलिक सिद्धांतों को जानने से पहले आपको एक गंभीर ऐप नहीं बनाना चाहिए। देवता का प्रयोग आपको यह नहीं सिखाएगा। – Mohamad

+0

... और न ही यह आप मौजूदा उपयोगकर्ताओं के लिए संसाधनों देखते हुए, और इतने पर के बारे में सिखा देगा। – Mohamad

+1

तो अपने तर्क है कि क्योंकि आप गलतियों कहीं और कर सकते हैं, आप परवाह नहीं करनी चाहिए अगर आप प्रमाणन के साथ गलती करते है? –

3

विचार यह है कि, नोब के रूप में, प्रमाणीकरण कार्यों के आधार पर मूल बातें सीखना वास्तव में उपयोगी है। भले ही भविष्य की परियोजनाओं में आप हर समय देवस का उपयोग करके समाप्त हो जाएं, अपने स्वयं के प्रमाणीकरण को विकसित करने का अनुभव हो ताकि आप जान सकें कि डेविस में दृश्यों के पीछे क्या चल रहा है वास्तव में सहायक है।

आपको इस पर अपना निर्णय लेने की आवश्यकता है। यदि आप दरवाजे से बाहर निकलने के लिए जल्दी में हैं, तो सीखें कि पहले डेविस का उपयोग कैसे करें, जाने का सही तरीका हो सकता है। यदि आपके पास समय है, तो खुद को रोल करने का तरीका जानने का प्रयास करना एक अच्छा विचार है। कम से कम, यह अपने खुद के रोलिंग पर रयान बेट्स वीडियो देखें करने के लिए अपने समय के लायक है: http://railscasts.com/episodes/250-authentication-from-scratch

इसके अलावा

, इस वसीयत प्रलेखन का उपयोग करने से नई रेल devs हतोत्साहित से वसीयत: https://github.com/plataformatec/devise#starting-with-rails

5

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

यह इस बात पर निर्भर करता है कि आपकी आपकी ज़रूरतें कितनी जटिल हैं। उदाहरण के लिए, क्या आपको भूल गए पासवर्ड फीचर, एक सत्यापन सुविधा आदि की आवश्यकता है ...

रेल के has_secure_password के साथ अपने स्वयं के प्रमाणीकरण को कार्यान्वित करना बेहद सरल है। दृश्यों के पीछे क्या चल रहा है यह जानना भी बहुत उपयोगी है। यह सीखने की प्रक्रिया का हिस्सा है, यह मामूली और मजेदार है।

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

+4

मैं इस जवाब में से कुछ से असहमत हूं। वसीयत 10 विभिन्न (rememberable, forgot_password, आदि) में बनाया मॉड्यूल की तरह है और यह आप ज्यादा 10 से अधिक लाइनों ले अपने स्वयं के प्रमाणीकरण रोलिंग के हिस्से के रूप में इन मॉड्यूल बनाने के लिए होगा। – Catfish

+0

@ कैटफ़िश, बिंदु ले लिया। हालांकि 'remember_me' सुविधा में लगभग 6 रेखाएं होती हैं। मैं स्पष्ट करूंगा। – Mohamad

+1

सीखना कुछ भी लेकिन माइग्रेशन के लिए जनरेटर का उपयोग किए बिना खरोंच से उपयोगकर्ताओं को बनाने के लिए कैसे, पहली बार मुझे लगा जैसे मैं वास्तव में समझ में आ कैसे काम करता है रेल था, यह आप मार्गों, किस क्रम नियंत्रकों में कहा जाता है, क्या before_filter/before_action है, कैसे करने के लिए सिखाता है एक मॉडल से जानकारी का उपयोग करें जो नियंत्रक के समान नहीं है। मैं अपने खुद के रोलिंग से पहले वसीयत उपयोग करने की कोशिश, और मैंने पाया वसीयत मेरे अपने रोलिंग की तुलना में सिर में दर्द था। ओओ आपका सबसे शक्तिशाली मणि है, इसे सीखो। – christoshrousis

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