Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

Clearance के साथ सुरक्षित Rails प्रमाणीकरण: चरण-दर-चरण मार्गदर्शिका

Clearance, Thoughtbot की टीम द्वारा बनाया गया ईमेल और पासवर्ड के साथ एक सरल प्रमाणीकरण प्रणाली है। इसके राय वाले डिफ़ॉल्ट हैं लेकिन इसे ओवरराइड करना आसान बनाने का इरादा है। सिस्टम सक्रिय रूप से बनाए रखा जाता है, और आप GitHub पर इसका अनुसरण कर सकते हैं।

इस ट्यूटोरियल में, आप देखेंगे कि Clearance को Rails एप्लिकेशन में कैसे एकीकृत किया जाए। हम एक लघु एप्लिकेशन का उपयोग करेंगे। चलिए शुरू करते हैं!

शुरुआत करना

आप अपना Rails एप्लिकेशन जनरेट करके शुरू करेंगे। इस ट्यूटोरियल के उद्देश्य के लिए, मैं इसका नाम tutsplus-clearance रखूंगा।

यह जादू कर देगा।

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

bundle install चलाकर जेम इंस्टॉल करें।

अब application.scss को इस तरह दिखने के लिए संशोधित करें:

Clearance सेटअप

Clearance जेम जोड़ने के लिए अपना Gemfile खोलें।

अब जेम इंस्टॉल करें।

इस बिंदु पर, clearance इंस्टॉल करने के लिए जनरेटर कमांड चलाएं।

यह आपके टर्मिनल पर कुछ आउटपुट जनरेट करेगा, जो नीचे दिए गए जैसा दिखता है:

जब आपने कमांड चलाया, तो आपके एप्लिकेशन में कुछ फ़ाइलें जनरेट हुईं। ऐसी एक फ़ाइल clearance.rb है, जिसे आप config/initializers निर्देशिका में पा सकते हैं। एक User मॉडल भी जनरेट किया गया था, और इसके साथ आपको एक माइग्रेशन फ़ाइल भी मिलती है जो इस तरह दिखती है:

आउटपुट के अनुसार, पहली चीज जो आप करना चाहते हैं वह है अपने कॉन्फ़िगरेशन एनवायरनमेंट को संपादित करना। ऐसा करने के लिए, config/environments/development.rb पर जाएं और नीचे दी गई लाइन को end डिलीमीटर के ठीक ऊपर जोड़ें।

अगला, config/initializers/clearance.rb पर जाएं इसे संपादित करने के लिए, और जब आप वहां हों, तो प्रेषक ईमेल पते को डिफ़ॉल्ट से अपनी पसंद के किसी भी पते पर बदलें। जब आप फ़ाइल खोलेंगे तो आपको यह दिखाई देगा।

आप निम्न कोड स्निपेट पेस्ट करके डिफ़ॉल्ट कॉन्फ़िगरेशन को ओवरराइड कर सकते हैं और इसे अपनी आवश्यकताओं के अनुसार कॉन्फ़िगर कर सकते हैं।

अपना डेटाबेस माइग्रेट करने के लिए कमांड चलाएं।

अपना PagesController खोलें और एक index एक्शन जोड़ें।

अगला, आपके द्वारा अभी बनाए गए index एक्शन के लिए एक व्यू बनाएं।

नीचे दिया गया कोड स्निपेट जोड़ें:

अपने रूट्स को संपादित करें:

layouts निर्देशिका के अंदर _navigation.html.erb नामक एक पार्शियल बनाएं। इसका उपयोग आपके एप्लिकेशन पर नेविगेशन से संबंधित हर चीज को संभालने के लिए किया जाएगा।

निम्न कोड पेस्ट करें और सेव करें।

प्रतिबंधित पहुंच

Clearance के साथ, आप अपनी पसंद के अपने एप्लिकेशन के विशिष्ट पृष्ठों पर प्रतिबंधित पहुंच बना सकते हैं। आइए देखें कि यह कैसे किया जाता है।

app/views/pages में new एक्शन के लिए एक व्यू बनाएं, फ़ाइल का नाम new.html.erb होना चाहिए। नीचे दिया गया कोड पेस्ट करें।

अब आपको config/routes.rb में नीचे दी गई लाइन जोड़ने की आवश्यकता है।

अंत में, अपने PagesController पर जाएं इसे नीचे दिए गए जैसा बनाएं।

उपरोक्त कोड में, हम Clearance हेल्पर, require_login, का उपयोग new एक्शन तक पहुंच को प्रतिबंधित करने के लिए कर रहे हैं। यह कैसे काम करता है यह देखने के लिए, rails server चलाकर अपना रेल्स सर्वर शुरू करें। अपने ब्राउज़र को https://localhost:3000/pages/new पर इंगित करें और यह आपको साइन इन पेज पर रीडायरेक्ट करना चाहिए।

Clearance रूटिंग बाधाएं भी प्रदान करता है जिनका उपयोग पहुंच को नियंत्रित करने के लिए किया जा सकता है।

उपरोक्त कोड में, प्रमाणित उपयोगकर्ताओं के लिए एक अलग रूट बनाया गया है।

Clearance डिफ़ॉल्ट को ओवरराइड करना

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

Clearance रूट्स को ओवरराइड (या जनरेट) करने के लिए, अपने टर्मिनल से यह कमांड चलाएं।

आपकी रूट्स फ़ाइल अब इस तरह दिखनी चाहिए:

कमांड आपके config/initializers/clearance.rb फ़ाइल में config.routes सेटिंग को false पर भी सेट कर देगा। इसका मतलब है कि अभी जनरेट की गई कस्टम फ़ाइल का उपयोग किया जाएगा।

संशोधन के लिए व्यू जनरेट करने के लिए, चलाएं:

जनरेट की जाने वाली कुछ फ़ाइलों में शामिल हैं:

आपको अपने टर्मिनल में एक प्रॉम्प्ट दिखाई देगा जो आपके app/views/layouts/application.html.erb फ़ाइल को ओवरराइट करने के लिए कहेगा। वह विकल्प चुनें जो आप चाहते हैं।

लेआउट

डिफ़ॉल्ट रूप से, Clearance आपके एप्लिकेशन के डिफ़ॉल्ट लेआउट का उपयोग करता है। यदि आप वह लेआउट बदलना चाहते हैं जिसका उपयोग Clearance अपने व्यू रेंडर करते समय करता है, तो बस इनिशियलाइज़र में लेआउट निर्दिष्ट करें।

हेल्पर विधियां

Clearance आपको हेल्पर विधियां प्रदान करता है जिनका उपयोग आपके controllers, views, और helpers में किया जा सकता है। इन विधियों में signed_in?, signed_out?, और current_user शामिल हैं। उदाहरण के लिए:

निष्कर्ष

जब प्रमाणीकरण की बात आती है तो Clearance आपको बहुत कुछ प्रदान करता है, इसलिए इसे अपनी अगली परियोजना में आज़माना सुनिश्चित करें। आप GitHub पेज देख कर अधिक जान सकते हैं।

  1. AWS Lambda पर रूबी ऑन Rails डिप्लॉय करना: चरण-दर-चरण मार्गदर्शिका AWS Lambda पर रूबी ऑन Rails डिप्लॉय करना: चरण-दर-चरण मार्गदर्शिका

    सर्वरलेस कंप्यूटिंग सर्वर को प्रबंधित और प्रोविजन करने के काम को क्लाउड प्रोवाइडर पर उतारने में मदद करता है और अधिकांश प्रौद्योगिकी टीमों के लिए तेजी से एक चीज बन रहा है। AWS Lambda एक प्रकार की सर्वरलेस तकनीक है जिसका उपयोग कई प्रौद्योगिकी टीमों द्वारा किया जाता है। AWS Lambda अधिकांश मुख्य प्रोग्र

  1. Rails सुरक्षा: प्रमाणीकरण कमजोरियों के खिलाफ बचाव Rails सुरक्षा: प्रमाणीकरण कमजोरियों के खिलाफ बचाव

    इस श्रृंखला के पहले भाग में, इंजेक्शन अटैक्स कवर किए गए थे OWASP टॉप 10 वेब एप्लिकेशन सुरक्षा जोखिमों के बारे में हमारी श्रृंखला के दूसरे लेख में, हम टूटी हुई प्रमाणीकरण और डेटा एक्सपोजर खतरों के ब्रह्मांड में गोता लगाएंगे। अधिक विशेष रूप से, हम इस बारे में बात करेंगे कि हैकर के लिए आपके द्वारा बनाए

  1. Angular को Rails 5 के साथ इंटीग्रेट करना: एक सहज फुल-स्टैक दृष्टिकोण Angular को Rails 5 के साथ इंटीग्रेट करना: एक सहज फुल-स्टैक दृष्टिकोण

    आपने पहले कहानी सुनी है। आपके पास पहले से ही एक एप्लिकेशन है जो आपके विकेंद्रीकृत और पूरी तरह से काम करने वाले बैक-एंड APIs और किसी सामान्य टूलसेट के साथ बने फ्रंट-एंड पर चल रहा है। अब, आप Angular पर आगे बढ़ना चाहते हैं। या, शायद आप बस अपने रेल्स प्रोजेक्ट्स के साथ Angular को इंटीग्रेट करने का एक तर