उपयोगकर्ता प्रमाणीकरण वेब अनुप्रयोगों के लिए एक आवश्यक सुरक्षा सुविधा है, विशेष रूप से वे जो संवेदनशील उपयोगकर्ता डेटा को संभालते हैं या कुछ कार्यक्षमता तक प्रतिबंधित पहुंच प्रदान करते हैं। एप्लिकेशन तक पहुंचने से पहले उपयोगकर्ताओं को स्वयं को प्रमाणित करने की आवश्यकता करके, डेवलपर्स यह सुनिश्चित कर सकते हैं कि केवल अधिकृत उपयोगकर्ता ही एप्लिकेशन के डेटा और कार्यक्षमता को देख या संशोधित कर सकते हैं। डेविस क्या है? डेविस एक रूबी रत्न है जो रेल अनुप्रयोगों के लिए उपयोगकर्ता प्रमाणीकरण और प्राधिकरण सुविधाएँ प्रदान करता है। यह स्क्रैच से सब कुछ लिखे बिना आपके एप्लिकेशन में साइनअप, लॉगिन और लॉगआउट कार्यक्षमता जोड़ने की प्रक्रिया को कम कर देता है। इसमें पासवर्ड रीसेट और अकाउंट पुष्टिकरण जैसी अंतर्निहित सुविधाएं हैं। यह विभिन्न प्रमाणीकरण रणनीतियों जैसे ईमेल और पासवर्ड, OAuth, OpenID और बहुत कुछ का समर्थन करता है। डेविस के पास विस्तृत दस्तावेज़ीकरण है जो बुनियादी और उन्नत दोनों सुविधाओं को शामिल करता है। इस ट्यूटोरियल में, हम डेविस के साथ एक सरल रेल ऐप बनाएंगे जो उपयोगकर्ताओं को खाते बनाने, साइन इन करने और अपने खातों से साइन आउट करने की अनुमति देता है। हम यह भी कवर करेंगे कि बूटस्ट्रैप का उपयोग करके ऐप में स्टाइल कैसे जोड़ा जाए। आवश्यक शर्तें इस ट्यूटोरियल को शुरू करने से पहले, आपको रूबी और रेल्स की बुनियादी बातों की अच्छी समझ होनी चाहिए। इसके अतिरिक्त, आपके कंप्यूटर पर निम्नलिखित सॉफ़्टवेयर स्थापित होना चाहिए: रूबी: यदि आपने रूबी को अपनी मशीन पर स्थापित नहीं किया है, तो आप आधिकारिक से नवीनतम संस्करण डाउनलोड कर सकते हैं . रूबी वेबसाइट रूबी ऑन रेल्स: आपको निम्नलिखित द्वारा अपना स्थानीय विकास वातावरण स्थापित करना चाहिए मार्गदर्शक। रेल Node.js: इंस्टॉल करें परिसंपत्ति पाइपलाइन का प्रबंधन करने और जावास्क्रिप्ट कोड चलाने के लिए। नोड.जे.एस धागा SQLite3 विज़ुअल स्टूडियो कोड जैसा एक टेक्स्ट एडिटर Google Chrome जैसा ब्राउज़र हम ट्यूटोरियल में बाद में रेल्स 7 में बूटस्ट्रैप का उपयोग करने का तरीका भी बताएंगे। चरण 1: एक नया रेल ऐप बनाएं एक नया रेल ऐप बनाने के लिए, अपनी पसंदीदा निर्देशिका में एक टर्मिनल खोलें और कमांड चलाएँ: rails new authApp यह निर्देशिका में नामक एक नया रेल एप्लिकेशन उत्पन्न करेगा। इस निर्देशिका को अपने पसंदीदा टेक्स्ट एडिटर में खोलें। authApp authApp टाइप करके ऐप निर्देशिका पर नेविगेट करें: cd authApp अपने टर्मिनल में, अपना रेल सर्वर चलाकर प्रारंभ करें: rails server रेल्स स्वागत पृष्ठ तक पहुंचने के लिए अपने ब्राउज़र में खोलें। http://127.0.0.1:3000/ चरण 2: एक लैंडिंग पृष्ठ बनाएं एक नया नियंत्रक उत्पन्न करें जो कमांड का उपयोग करके रूट पथ के अनुरोध को संभालेगा: $rails generate controller home index यह एक एक्शन `इंडेक्स` के साथ `होम` नामक एक नया नियंत्रक बनाता है। निम्न पंक्ति जोड़कर 'कॉन्फ़िगर' फ़ोल्डर में फ़ाइल में रूट पथ जोड़ें: routes.rb root 'home#index' डायरेक्टरी में, आपको एक नई फ़ाइल मिलेगी जिसका नाम है । इस दृश्य में आपके लैंडिंग पृष्ठ के लिए HTML कोड होगा। app/views/home index.html.erb सर्वर को पुनरारंभ करें और अपने नव निर्मित लैंडिंग पृष्ठ को देखने के लिए अपने वेब ब्राउज़र में जाँच करें। स्थानीय होस्ट की चरण 3: बूटस्ट्रैप स्थापित और कॉन्फ़िगर करें इस अनुभाग में, हम उपयोग करेंगे, जो जेएस को लोड करते हैं। सबसे पहले, चलाकर जांचें कि क्या आपके पास आयात मानचित्र स्थापित हैं। यदि आप ऐसा नहीं करते हैं, तो चलाएँ आयात मानचित्रों का cat config/importmap.rb rails importmap:install इसके बाद, आयात मानचित्रों के माध्यम से बूटस्ट्रैप 5 जेएस को रेल में जोड़ें: । यह JS, बूटस्ट्रैप और पॉपरज को में जोड़ता है। $ bin/importmap pin bootstrap config/importmap.rb आयात का उपयोग करके में बूटस्ट्रैप आयात करें; . import 'bootstrap'; app/javascript/application.js अपने जेमफाइल में जोड़ें और चलाएं। gem 'bootstrap', '~> 5.1.3' bundle install में, और फ़ाइल का नाम बदलकर कर दें। app/assets/stylesheets/application.css @import "bootstrap"; application.scss सुनिश्चित करें कि आपकी फ़ाइल में ये शामिल हैं: app/views/layouts/application.html.erb <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> <%= javascript_importmap_tags %> अपनी फ़ाइल में पसंदीदा शैलियाँ जोड़ें। app/views/home/index.html.rb सर्वर को पुनः लोड करें और परिवर्तन देखें। चरण 4: डिवाइस को स्थापित और कॉन्फ़िगर करें जेमफ़ाइल पर नेविगेट करें और कमांड का उपयोग करके डेविस रत्न जोड़ें: gem 'devise', github: 'heartcombo/devise', branch: 'main' डेविस को स्थापित करने के लिए चलाएँ। bundle install अपने प्रोजेक्ट में डेविस सेट करने के लिए चलाएँ। यह डेविस के लिए कई स्टार्टर फ़ाइलें उत्पन्न करता है और टर्मिनल में निर्देश प्रदान करता है। rails g devise:install फ़ाइल में लाइन अनकम्मेंट करें। यह टर्बो_स्ट्रीम को एक नेविगेशनल प्रारूप के रूप में जोड़ता है, जो रेल्स 7 के साथ काम करने के लिए डेविस 4.9.2 के लिए आवश्यक है। ऐसा करने में विफल रहने पर एक त्रुटि होगी। devise.rb config.navigational_formats = ['*/*', :html, :turbo_stream] undefined method user_url खोलें और नोटिस और अलर्ट संदेशों के लिए निम्नलिखित पंक्तियाँ जोड़ें: app/layouts/applications.html.erb <p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p> चरण 5: डिवाइस के साथ उपयोगकर्ता मॉडल बनाना डेविस के साथ एक यूजर मॉडल बनाने के लिए, टर्मिनल में चलाएँ। यह उपयोगकर्ता प्रमाणीकरण को लागू करने के लिए आवश्यक फ़ाइलें और कॉन्फ़िगरेशन उत्पन्न करेगा। rails g devise user माइग्रेशन कमांड चलाकर उपयोगकर्ता तालिका बनाएं: । rails db:migrate नई डेविस इनिशियलाइज़र फ़ाइल को लोड करने के लिए सर्वर को पुनरारंभ करें और उपयोगकर्ता प्रमाणीकरण के काम करने के लिए सब कुछ सेट करें। ईमेल और पासवर्ड दर्ज करके खाता बनाने के लिए साइन-अप फॉर्म तक पहुंचने के लिए अपने ब्राउज़र में पर जाएं। http://localhost:3000/users/sign_up फ़ाइल पर जाएँ और कोड की निम्नलिखित पंक्तियाँ जोड़ें: index.html.erb <% if user_signed_in? %> <p>Welcome, <%= current_user.email %>!</p> <%= link_to "Sign out", destroy_user_session_path, method: :delete %> <% else %> <%= link_to "Sign in", new_user_session_path %> <% end %> ये पंक्तियाँ आपके एप्लिकेशन के लिए साइन-अप, साइन-इन और साइन-आउट लिंक बनाती हैं। डेविस द्वारा प्रदान की गई एक सहायक विधि है जो वर्तमान उपयोगकर्ता के साइन इन होने पर सत्य लौटाती है और अन्यथा गलत लौटाती है। user_signed_in परिवर्तनों की समीक्षा करने के लिए ब्राउज़र में अपने पृष्ठ को ताज़ा करें। परिवर्तनों की समीक्षा करने के लिए, बस अपने ब्राउज़र में पृष्ठ को ताज़ा करें। यदि आपने पहले से साइन इन नहीं किया है, तो स्क्रीन पर एक साइन-इन बटन दिखाई देगा। इस पर क्लिक करें और रजिस्ट्रेशन प्रक्रिया पूरी करें। एक बार जब आप सफलतापूर्वक साइन अप कर लेते हैं, तो आपको लैंडिंग पृष्ठ पर निर्देशित किया जाएगा जहां आप वर्तमान में साइन-इन किए गए उपयोगकर्ता का ईमेल पता, एक स्वागत संदेश और एक साइन-आउट बटन देख सकते हैं। इन चरणों का पालन करके, आपने डेविस रत्न को सफलतापूर्वक एकीकृत कर लिया है और अपने एप्लिकेशन के लिए उपयोगकर्ता प्रमाणीकरण स्थापित कर लिया है। निष्कर्ष इस ट्यूटोरियल में, हमने अपने रेल ऐप में उपयोगकर्ता प्रमाणीकरण जोड़ने के लिए डेविस का उपयोग किया। हमने एक एप्लिकेशन विकसित किया है जहां उपयोगकर्ता खाते बना सकते हैं, साइन अप कर सकते हैं और साइन आउट कर सकते हैं। हमने प्रोजेक्ट के स्वरूप को बेहतर बनाने के लिए बूटस्ट्रैप को भी एकीकृत किया। डेविस के बारे में अपने ज्ञान का विस्तार करने और आगे के सहायकों और तरीकों का पता लगाने के लिए, डेविस गिटहब रिपॉजिटरी पर रीडमी फ़ाइल देखें।