इस पाठ में वापस स्वागत है हम कुछ मज़ा नई सामग्री देखने के लिए जा रहे हैं।
हमें यकीन है कि एक उपयोगकर्ता कैम्प का ग्राउंड है कि वह या वह नहीं बना था नहीं हटा सकते हैं या एक उपयोगकर्ता एक कैम्प का ग्राउंड संपादित नहीं कर सकते बनाने के लिए हमारे उपयोगकर्ता मॉडल प्रमाणीकरण है कि हम कैंप के साथ कवर किया है गठबंधन करने के लिए जा रहे हैं कि वह या वह नहीं बना था।
और यह कुछ प्राधिकरण कहा जाता है।
तो प्रमाणीकरण और प्राधिकरण वहाँ विभिन्न प्रमाणीकरण जानने अगर किसी को वे जो कहते हैं कि वे कर रहे हैं करने के लिए संदर्भित कर रहे हैं।
खैर प्राधिकरण एक बार जब आप जानते हैं, जो किसी को है।
आप वे क्या करने की अनुमति दी हो क्या बाहर आंकड़ा।
तो अनुमतियों के रूप में लगता है।
क्या कर सकते हैं किसी को क्या क्या कोई हमारे आवेदन में उनकी सुरक्षा मंजूरी के साथ क्या करने के लिए अधिकृत है।
तो अगर आप एक कैम्प का ग्राउंड ही नहीं है कि आप एक ही आई.डी. नहीं है कैंप लेखक है कि आप अद्यतन या इसे नष्ट करने में सक्षम नहीं होगा।
तो चलो सरल शुरू करते हैं और इसके साथ काम करते हैं तो यह है कि आप संपादित प्रपत्र जब तक आप कैम्प का ग्राउंड ही नहीं दे सकते हैं।
तो चलो ठीक है यहाँ हमारे कैम्प का ग्राउंड मार्गों के लिए चलते हैं।
और क्या हम करना चाहते हैं, तो आप कोशिश करते हैं और कैम्प का ग्राउंड मार्ग या अद्यतन करने के लिए जाने के लिए और अंततः के रूप में अच्छी तरह से उन तीनों को हम एक ही तर्क है जहाँ हम बस की जांच करने की जरूरत है हटाना है।
वर्तमान उपयोगकर्ता आई.डी. करता है कि कैम्प का ग्राउंड के लिए लेखक की आईडी से मेल।
तो याद है यह हमारे डेटा संरचना की तरह है, जहां हम कैम्प का ग्राउंड मॉडल को खींच दिखता है।
हम एक कैम्प का ग्राउंड के लिए लेखक है और वहाँ एक आई.डी. है कि एक आई.डी. होने जा रहा है एक उपयोगकर्ता के लिए यह संदर्भ एक विशेष उपयोगकर्ता की वस्तु आई.डी. और फिर हम एक वस्तु आई.डी. है कि पाठ्यक्रम के एक उपयोगकर्ता है यहां यह निर्दिष्ट नहीं किया है, लेकिन हर उपयोगकर्ता एक आई.डी. है और हम तुलना करने के लिए वर्तमान में उपयोगकर्ताओं में लॉग इन जा रहे हैं आई.डी. कैम्प का ग्राउंड लेखक डॉट आईडी के लिए इतना है कि हम क्या कर सकते हैं बहुत आसानी से अगर हम उस पर हमारे में ऊपर जाना है।
हम वहाँ शुरू करेंगे।
और पहली बात यह है कि हम क्या करना चाहते हैं की जांच में कोई है जो उपयोगकर्ता पर सभी में लॉग इन किया है है।
और फिर अगर नहीं हम गर्मियों को दिशानिर्देश देंगे।
एक उपयोगकर्ता करता है में लॉग इन किया है तो कैम्प का ग्राउंड के मालिक हैं।
और अगर ऐसा है हम उपयोगकर्ता इस कोड को अपनी पहचान पाते हैं और सब कुछ नष्ट चलाने दूँगा।
वरना हम भी अनुप्रेषित करेंगे।
तो चलो अगर किसी में लॉग इन किया है देखने के लिए शुरू करने के लिए इस में भर दें।
हम सिर्फ अनुरोध किया है, तो प्रमाणित हो जाता है लिख सकते हैं।
हम यह भी मध्य जहां पहले से ही यहाँ परिभाषित हम में लॉग इन किया है इस्तेमाल कर सकते हैं।
मैं एक पल क्यों हम ऐसा करने के लिए नहीं जा रहे हैं में तुम्हें दिखाता हूँ।
संक्षिप्त उत्तर है कि हम हमारे अपने मिडलवेयर और सिर्फ एक छोटा सा परिभाषित कर रहे है।
इसलिए हम इस मिडलवेयर के बजाय कि कार्यक्षमता गठबंधन करने के लिए जा रहे हैं।
तो अगर है कि अगर मामला है एक अनुरोध प्रमाणित हो जाता है तो हम जाने के लिए अच्छा कर रहे हैं।
अगर ऐसा नहीं है मामले की एक निरंतर लॉग शुरू करने के लिए करते हैं।
तुम ऐसा करने में लॉग इन करने की आवश्यकता है और फिर हम एक प्रतिक्रिया क्या करेंगे।
और हम सिर्फ संदेश प्रतिक्रिया बाहर शुरू करने के लिए एक संदेश करते हैं और हम यह वास्तव में भेज देंगे।
तो अगर हम देखते हैं कि हम पता चल जाएगा कि हम में लॉग इन नहीं कर रहे हैं और पहली बात यह काम किया जाएगा।
तो चलो अगर बयान के अंदर इस कोड की नकल करते हैं और ठीक से खिसका हुआ।
ठीक।
इसलिए हम में लॉग इन करना होगा।
कौन सा नया हम पहले से ही यह करने के लिए कोड लिखा है कुछ भी नहीं है।
तो तुम जहां मैं एक अजीब तरीका है जिसमें हम किस तरह के हैं इस बारे में सोच जा रहा हूँ हो सकता है।
लेकिन तुम सिर्फ एक पल में क्यों देखेंगे।
चलो यह हालांकि बाहर का परीक्षण करते हैं।
सहेजें सर्वर शुरू करते हैं।
और जब मैं शुरू मैं में लॉग इन नहीं कर रहा हूँ।
कोई नहीं में लॉग इन किया है।
तो अगर मैं कोशिश करते हैं और उस पर स्लेश करने के लिए जाना है यह मुझे आप ऐसा करने में लॉग इन करने की आवश्यकता बताता है।
इसलिए हमारी पहली हिस्सा बस ठीक काम कर रहा है।
फिर एक बार हम नीचे बंद कर रहे हैं हम जो है, जहां यह जाँच करेगा यहाँ में एक और बयान लिए जा रहे हैं।
उपयोगकर्ता कैम्प का ग्राउंड स्वयं नहीं करता।
और वैसे भी हम ऐसा करेंगे कि बहुत आसान है।
पहली बात तो हम क्या करने की जरूरत कैम्प का ग्राउंड है जो हम पहले से ही यहीं किया है लगता है।
और फिर एक बार हम यह पाते हैं कि हम अगर उस कैम्प का ग्राउंड पर लेखक की आईडी वर्तमान उपयोगकर्ता जो कि उपयोगकर्ता के लिए अनुरोध है मैच की जांच करने की जरूरत है।
तो फिर हम जाने के लिए अच्छा कर रहे हैं।
तो यहाँ के अंदर है जहाँ हम वास्तव में कैम्प का ग्राउंड पर उपयोगकर्ता करता है।
हम वहाँ एक त्रुटि है अगर कोई त्रुटि है तो हम जांच करेंगे कि अगर जाँच करने के लिए पहले थोड़ा रखेंगे।
क्योंकि उस पाया कैम्प का ग्राउंड में मौजूद है इसका मतलब है और फिर हम होगा कैम्प का ग्राउंड पर एक उपयोगकर्ता करता है एक अगर बयान और बी यदि कैम्प का ग्राउंड डॉट लेखक आईडी के रूप में आप सोच सकते हैं कि हम यह कर सकता है।
बराबरी बराबर बराबर होती है।
अनुरोध है कि उपयोगकर्ता डॉट को रेखांकित आईडी।
तो मुझे सिर्फ तुम्हें दिखाने क्या मैं के लिए एक संपर्क प्रवेश कैम्प का ग्राउंड लेखक आईडी सोचा और फिर यह उपयोगकर्ता को रेखांकित आईडी है कि लॉग अनुरोध को रद्द करना होगा नीचे करते हैं मतलब है।
तो एक टिप्पणी बाहर अगर बयान।
इसलिए हम उन दो पंक्तियों देखेंगे।
मैं निश्चित रूप से में लॉग इन किया जा सकता है अगर मैं सिर्फ कोशिश करते हैं और लॉग इन किया जा रहा है हम एक त्रुटि है में बिना अभी ताज़ा होगा।
लेकिन अगर मैं में प्रवेश करते अब आलू प्रमुख लॉग है और फिर मैं वापस ग्रेनाइट खदान उस पर स्लेश जाना।
एक समस्या है।
चलो देखते हैं की तरह लग रहा है।
अच्छा है कि मूर्ख और आर्थर कैम्प का ग्राउंड में कैम्प का ग्राउंड में मौजूद नहीं है जैसे रद्द करने की कोशिश कर रहा था।
यह कैम्प का ग्राउंड पाया है।
तो मैं इसे फिर से सर्वर को पुनः आरंभ करने की कोशिश करेंगे।
पहली बार हम ताजा कर रहे हैं।
क्या आप हमें बता पता है कि तुम अब भी में लॉग इन करने की जरूरत है।
तो फिर हम आलू प्रमुख लॉग इन करें।
पासवर्ड।
ठीक।
अब अगर मैं कोशिश करते हैं और यह क्या हम यहाँ देख पर एक नज़र रखना मिलता है।
पहली बात यह है कि हम प्रिंट इस तरह दिखता है।
तो पाया कि कैम्प का ग्राउंड आर्थर आईडी है और फिर हम अनुरोध किया है कि उपयोगकर्ता डेटा आई.डी. और वे देखो की तरह वे समान हैं।
और जब वे बाहर मुद्रित कर रहे हैं वे समान हैं।
लेकिन पर्दे के पीछे वास्तव में एक ही नहीं कर रहे हैं तो अनुरोध है कि यूजर आईडी उसकी अंडरस्कोर आईडी एक स्ट्रिंग पाया कैम्प का ग्राउंड लेखक डॉट आईडी है एक वस्तु यह एक नेवला वस्तु है।
और यह सिर्फ एक मुश्किल से एक है।
मैं समय-समय पर यह क्योंकि वे एक ही लग रही है वास्तव में निराशा होती है जब आप डिबग करने की कोशिश कर रहे हैं, लेकिन सच्चाई यह पहले एक वास्तव में एक स्ट्रिंग यह एक नेवला वस्तु नहीं है से इसके बारे में भूल जाते हैं।
यही कारण है कि एक हम बाहर मुद्रित।
हम एक स्ट्रिंग देख सकते हैं लेकिन यह है कि सिर्फ दो स्ट्रिंग संस्करण है।
परदे के पीछे यह एक स्ट्रिंग नहीं है।
और यह एक स्ट्रिंग है।
तो जब हम उनकी तुलना में यह काम नहीं करेगा।
तो बजाय उन्हें ट्रिपल बराबर या डबल के साथ तुलना की तुलना में बराबर होती है कि हम क्या करने के बजाय क्या कर सकते हैं एक तरीका है कि नेवला इस उद्देश्य के लिए हमें देता है का उपयोग करें।
तो हम क्या करें अगर एक बयान कैंप की जाँच के बजाय डाल के बारे में है।
लेखक डोड आईडी ट्रिपल बराबरी यूजर आईडी पर अनुरोध करता हूँ।
हम डॉट बराबरी का उपयोग करें।
हम वहाँ चलें।
और अब हमारे यदि कथन सच है कि इस कैम्प का ग्राउंड फिर क्या डेटाबेस है कि हम उस आईडी का उपयोग कर पता लगा रहे हैं करने के लिए वापस आ रहा है पाया जा करने की जरूरत है के लिए छोड़कर काम करना चाहिए।
इसलिए हम मार्ग के बंद आधारित आईडी के साथ फिर हम जाँच करें कि अगर उस विशेष पाया कैम्प का ग्राउंड पर लेखक आईडी के बराबर होती है वर्तमान में उन आईडी लॉग इन पाते हैं।
यदि यह मामला है हम एक बात करूँगा।
नहीं तो हम कुछ और कर लेंगे।
कि यदि ऐसा है तो मामला है हम यहाँ यह करूँगा पाया कैम्प का ग्राउंड के साथ संपादित कैम्प का ग्राउंड पेज के कैम्प का ग्राउंड पेज प्रस्तुत करना।
अन्यथा हम एक आराम भेजने करता करूँगा।
आप क्या करने के लिए निश्चित रूप से है कि यह अंततः बदल जाएगा अनुमति नहीं है या यह सिर्फ एक लाल बिंदी प्रतिशत नहीं होगा, लेकिन हम एक वास्तविक संदेश प्रदर्शित करता है कि होगा।
तो चलो अगर मैं कोशिश एक शो पेज पहली बात करने के लिए जाना हमारे आवेदन करने के लिए जाना है और अभी मैं में लॉग इन करने की आवश्यकता इसे संपादित करने की कोशिश करते हैं।
अब अगर मैं में प्रवेश या मैं आलू प्रमुख के अलावा अन्य किसी को इतनी टमाटर सिर करना होगा के रूप में हस्ताक्षर और मैं कोशिश करते हैं और संपादित उम्मीद है कि आप देखेंगे।
वहाँ हम मैं तुम्हें ऐसा करने की अनुमति नहीं है मिल जाना।
अब अगर हम वापस जाने के लिए और बाहर लॉग इन करें और आलू प्रमुख के रूप में वापस प्रवेश करें और फिर मैं कोशिश करते हैं और संपादित यह सब प्रयास करें।
मैं अनुमति है।
और मैं यहाँ खत्म होता है।
इसलिए यह काम कर रहा है।
जो माहान है।
अब हम क्या करेंगे वास्तव में एक अलग समारोह में इस refactor है।
इस तर्क के अधिकांश ऐसा कुछ भी मुलाकात करेंगे।
उपयोगकर्ता कैम्प का ग्राउंड की जाँच करें या यह सुनिश्चित कैम्प का ग्राउंड उपयोगकर्ता कुछ जहाँ हम मूल रूप से जाँच कर रहे हैं वर्तमान में इस विशेष कैम्प का ग्राउंड उपयोगकर्ता मैच में लॉग इन करता है।
और कारण है कि हम मिडलवेयर में उस कदम होगा कि हम संपादित पर इसका इस्तेमाल करेंगे।
हम यह भी अद्यतन पर इसका इस्तेमाल करना चाहते हैं।
हम किसी को अगर वे में लॉग इन नहीं कर रहे हैं एक अनुरोध भेजने के लिए सक्षम होने के लिए नहीं करना चाहती।
तो भले ही फिर से बस ब्राउज़र का उपयोग कर।
एक ही रास्ता वास्तव में नेत्रहीन इस प्रपत्र का उपयोग किया जाता है डेटा भेजने के लिए अद्यतन करने के लिए प्राप्त करने के लिए।
आप डाकिया का उपयोग कर सकता है आप डाकिया से एक अनुरोध भेज सकता है और नहीं प्रमाणीकृत किया।
तो हम एक ही तर्क यहाँ चाहते हैं और हम हटाने के लिए एक ही बात करना चाहते हैं।
तो हम आपको यदि आप लॉग इन नहीं कर रहे हैं कुछ एक कैम्प का ग्राउंड नष्ट करने में सक्षम होने के लिए नहीं करना चाहती।
और अगर आप इसे ही नहीं है।
तो हम क्या करेंगे एक मिडलवेयर हम अब के लिए इस कोड को कॉपी हूँ के बारे में है।
मैं इसे वहां छोड़ देंगे, लेकिन हम सिर्फ हमारे अन्य मिडलवेयर साथ अब के लिए नीचे जाने के लिए जा रहे हैं।
खैर अंतिम एक चेक कहा जाता है कि बस की तरह कैम्प का ग्राउंड स्वामित्व।
और फिर हम इस कोड को पेस्ट कर देंगे और हम हम यहाँ करने के लिए एक छोटे से काम करना होगा।
लेकिन अंत लक्ष्य है कि हमारे संपादित करें पर हम यहाँ हमारे मिडलवेयर जोड़ने कैम्प का ग्राउंड स्वामित्व की जांच करने में सक्षम होना चाहिए।
हम इसे अद्यतन करने के लिए सक्षम होना चाहिए।
और भी नष्ट लेकिन हम इसे साथ शुरू करेंगे और जांच क्या हम करना चाहते है।
पहले आप अनुरोध के जवाब में जोड़ने के लिए और अगले याद है कि इतने मिडलवेयर अगले अनुरोध प्रतिक्रिया की स्थापना की है जरूरत है।
तो अगर उपयोगकर्ता वर्तमान में लॉग इन किया है।
अगर वे तुम्हें एक बाकी हमें भेज कर रही बजाए में लॉग इन नहीं कर रहे हैं चलते रहो।
अभी के लिए हम एक रेस्तरां अनुप्रेषित क्या करने जा रहे हैं और हम अभी तक यह नहीं देखा है।
हम एक प्रकार की पक्षी वापस अनुप्रेषित कर सकते हैं और है कि यह यूजर वापस वे कहाँ से आया सबसे करने के लिए ले जाएगा।
पिछले पृष्ठ है कि वे पर थे और बहुत जल्द ही आपको बताएंगे कि कैसे हम एक संदेश भेज सकते हैं जा रहे हैं।
खैर हमें यह संदेश भेजना चाहते हैं जैसे आप ने लॉगिन नहीं कर रहे हैं या आपको लगता है कि ऐसा करने की अनुमति दी जानी चाहिए, लेकिन हम अब के लिए लगता है कि जैसे यह जा रहे हैं कुछ है।
तब वे में हम कैम्प का ग्राउंड खोजने के लिए जा रहे लॉग इन कर रहे हैं।
वहाँ एक त्रुटि है, तो हम बस के रूप में अच्छी तरह से वापस अनुप्रेषित करेंगे।
फिर इस त्रुटि यदि किसी कारण के लिए कैम्प का ग्राउंड या नहीं पाया जा सका होगा डेटाबेस से जुड़ा हुआ नहीं है, तो या कि हम वास्तव में और अगर कैम्प का ग्राउंड अनुरोधों को यूजर आईडी से मेल खाता नहीं देखना होगा आम तौर पर कुछ अजीब बात है।
तो अगर उपयोगकर्ता के लिए जो प्रतिपादन कैंप संपादित करने के बजाय उसके बाद की तरह इस मालिक में है, क्योंकि हम नहीं हमेशा इस मिडलवेयर संपादित प्रस्तुत करने के लिए क्या हम इसे हटा में कोड के बाकी के लिए आगे बढ़ना या कोड के लिए आगे बढ़ना है क्या करना चाहते हैं एक अद्यतन या एक संपादित।
तो यह है कि जहां हम आगे क्या करना है।
अन्यथा यदि वे यह ही नहीं है कि हम एक रेज अनुप्रेषित वापस कर देंगे।
महान।
तो चलो इसे बचाने के लिए इस बाहर की कोशिश करते हैं और हम एक अद्यतन हमारे मार्ग संपादित यहीं जाना होगा।
हम यह नीचे एक बहुत ट्रिम कर सकते हैं तो हम वास्तव में सिवाय इस बात का कोई ऐसा करने की जरूरत नहीं है कि हम कैम्प का ग्राउंड और सब है कि हम क्या करेंगे अगर हम एक कैम्प का ग्राउंड पाते हैं कि हम अगर यह जांच करने की जरूरत नहीं मिल करना चाहते हैं के लिए मैच अब क्योंकि हम मध्य जहां इतने सब हम एक कैम्प का ग्राउंड मिल रहा है क्या करना चाहते हैं यह सब से छुटकारा मिल सकता है कि कर रहे हैं।
लगभग सभी कार्यालय प्रारूप यह सही ढंग से तो बाहर एक छोटा सा होगा।
हम वहाँ चलें।
इसलिए क्योंकि हम Scheck के कैम्प का ग्राउंड स्वामित्व दर यहाँ जोड़ा सब है कि हम अब कर रहे हैं तो इसका मतलब है कि हम पहले से ही कैम्प का ग्राउंड स्वामित्व की जाँच की है और हम इसे माध्यम से किया जाता है कि अगर हम इस बात के लिए मिल रहा है।
अन्यथा यदि कोई समस्या हम पुनः निर्देशित किया जाएगा कि त्रुटि रहा है हम एक छोटे से सिंटेक्स त्रुटि यहाँ जो मैं किसी भी तरह से नष्ट कर दिया यहाँ मेरी समारोह घोषणा और आप इसे शिकायत है कि हम त्रुटि हैंडलिंग नहीं कर रहे हैं देख सकते हैं हो रही है के साथ देखते है जो हम संभाल सकता है।
लेकिन बात अगर हम इस बात पर आते हैं वहाँ पीआई आईडी खोजने क्योंकि हम इसे यहाँ नीचे किया था के साथ एक त्रुटि नहीं होना चाहिए।
और अगर यह यहाँ काम करता है तो हम वैसे भी जाने के लिए अच्छा होना चाहिए।
तो चलो इसे बाहर हालांकि अगर हम किसी भी मुद्दे को देखने की कोशिश करते हैं।
असल में हम सिर्फ हमारे कोड में एक अलग समारोह में बाहर ले जाया गया।
और याद रखना इससे पहले कि हम सही हैंडलर को पाने के लिए एक मध्यस्थ कहा जाता है।
ठीक।
इसलिए हमें कोशिश करनी चाहिए।
पहली बात चलो वापस जाना और हम कहते हैं कि कोशिश करते हैं और संपादित करें पर क्लिक करते हैं।
मैं में लॉग इन नहीं कर रहा हूँ।