2014-11-27 7 views
5

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

यदि मुझे ईमेल पुष्टिकरण, पुनर्प्राप्ति, आदि की आवश्यकता नहीं है (डेविस से जुड़े "जैज़" में से बहुत सारे), क्या खाता जानकारी उतनी ही सुरक्षित होगी जितनी मैंने अपना खुद का बनाया है?

आप अभी भी से क्या जवाब मैं तलाश कर रहा हूँ भ्रमित हो सकता है है - कुछ जब भी संभव हो आप का उपयोग करना चाहिए वसीयत/जब भी आप खाते हैं है? या यह वास्तव में एक निर्णय होना चाहिए?

नोट: मैं विशेष रूप से डेविस का जिक्र नहीं कर रहा हूं, किसी प्रमाणीकरण रत्न को प्रतिस्थापित किया जा सकता है।

उत्तर

6

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

रयान बेट्स सिर्फ इस विषय here पर एक उत्कृष्ट वीडियो है।

1

मेरी राय में आपको इसे अपने प्रोजेक्ट के अनुसार तय करना चाहिए। यदि आप कम से कम कार्यक्षमता वाली छोटी वेब सेवा पर काम कर रहे हैं तो आप रेल द्वारा प्रदान किए गए उपकरणों का उपयोग करके अपना खुद का लेख जोड़ सकते हैं। लेकिन यदि आप तथाकथित "एंटरप्राइज़" पर काम कर रहे हैं, तो तेजी से बढ़ती कार्यक्षमता वाली बड़ी परियोजना आपको निश्चित रूप से devise का उपयोग करना चाहिए, क्योंकि इस मणि के साथ, आप मौजूदा लेख सुविधाओं के निर्माण पर समय नहीं व्यतीत करेंगे, यह रखरखाव और सुरक्षित में बहुत आसान है ।

+1

मैं देख रहा हूँ, आप भी कहेंगे कि अगर मैं खातों की दो अलग अलग प्रकार की जरूरत है - और एक वसीयत की आवश्यकता है - मैं चाहिए, एक शक के बिना, उन दोनों (भले ही अन्य कई सुविधाओं की आवश्यकता नहीं है) के लिए वसीयत का उपयोग ? – Vasseurth

+0

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

6

मेरे अपने प्रमाणीकरण

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

प्रमाणीकरण कठिन है। वहाँ प्रमाणीकरण और डेवलपर्स में मौजूद subtleties हैं जो CRUD शैली प्रोग्रामिंग के लिए उपयोग किया जाता है उन्हें याद करने जा रहे हैं। यह अपमान होने का मतलब नहीं है। मैं उन प्रोग्रामर में से एक हूं, और मैं सुरक्षा में काम करता हूं। अपनी ताकत और कमजोरियों को पहचानें।

वसीयत (और सबसे लोकप्रिय प्रमाणीकरण चौखटे) उत्पादन रूपरेखा है कि आप अपने आप को रोल करने जा रहे हैं बनाम में कोड की समीक्षा, डिजाइन, परीक्षण, और समय के घंटे के हजारों पड़ा है।

I wrote a blog post about a "smart" security feature जो वास्तव में एक कंपनी की सुरक्षा को और खराब बना देता है। सूक्ष्म प्रमाणीकरण और सुरक्षा कैसे हो सकती है यह एक अच्छा उदाहरण है!

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