2012-05-20 12 views
7

backbone.js और require.js सीखना शुरू किया।backbone.js + require.js + उपयोगकर्ता प्रमाणीकरण

उपयोगकर्ता प्रमाणीकरण के साथ वेब ऐप के लिए फ़ाइलों को कैसे व्यवस्थित करना सुनिश्चित नहीं है।

इसे इस तरह प्रवाह चाहिए लगता है:

  1. एप्लिकेशन init पर, क्वेरी सर्वर प्रमाणन सत्र स्थिति की जांच करने के लिए;
    • प्रश्न # 1: मुझे 'init' सत्र कोड - /js/app.js में कहां लिखा जाना चाहिए?
    • प्रश्न # 2: क्या मुझे इसके लिए jQuery AJAX का उपयोग करना चाहिए, या क्या बेहतर backbone.js विधियां हैं (मैंने उदाहरणों में प्राप्त(), fetch(), toJSON() को संदर्भ देखा है)?
  2. यदि सफलता है, तो मॉडल (user_id, उपयोगकर्ता नाम, auth_token) में ऑथ डेटा स्टोर करें।
    • प्रश्न # 3: मैं इस मॉडल को कैसे/कहां लगा सकता हूं ताकि मैं पूरे मॉड्यूल में उस डेटा तक पहुंच सकूं? अर्थात। मेरे पास 'isLoggedIn.html' के लिए टेम्पलेट प्रदर्शित करने का एक दृश्य होगा जो "हैलो% उपयोगकर्ता नाम%! लॉगआउट" पढ़ेगा। मैं इस मॉडल से 'उपयोगकर्ता नाम' फ़ील्ड तक पहुंचना चाहता हूं। वर्तमान में, मैं केवल व्यू के परिभाषित [] में संदर्भित करके एक नया मॉडल बनाने का तरीका देखता हूं, इसलिए मुझे नहीं पता कि init के दौरान बनाए गए मॉडल को कैसे एक्सेस किया जाए।
  3. इस ऑथ डेटा को सहेजने और प्राप्त करने के लिए jQuery $। कुकीज का उपयोग करेगा, इसलिए यदि उपयोगकर्ता पृष्ठ और रिटर्न छोड़ देता है, तो मैं सर्वर को फिर से लॉगिन करने की आवश्यकता के बजाय सत्र की जांच करने के लिए क्वेरी कर सकता हूं।
    • प्रश्न # 4: मैं jquery.cookies.js प्लगइन को इस requjs ऐप में कैसे शामिल करूं, ताकि मैं बाद में $। कुकीज सामान्य रूप से उपयोग कर सकूं? क्या मैं इस प्लगइन को परिभाषित [] सूची में जोड़ना चाहता हूं? क्या मुझे इसे /js/jquery/loader.js फ़ाइल में जोड़ना है?

आपकी सहायता के लिए धन्यवाद।

संपादित करें: मैंने अपना वेब ऐप बनाने के लिए modular-backbone उदाहरण से फ़ाइलों का उपयोग किया। तो जब मैं /js/app.js और js/router.js के बारे में बात कर रहा हूं, तो वह फाइलें जिन्हें मैं संदर्भित करता हूं।

+1

क्यू 3 के लिए: क्या आप उपयोगकर्ता मॉडल नहीं बना सकते हैं और फिर जब आप उन विचारों को बनाते हैं तो प्रासंगिक विचारों के आसपास इसे पास कर सकते हैं? –

+0

इसके अलावा, आपका क्या मतलब है कि आप इसे परिभाषित करते समय केवल एक नया मॉडल बना सकते हैं? उस मॉडल के कोड का एक स्निपेट पोस्ट करें? –

+0

मैं मॉड्यूलर-रीढ़ की हड्डी से संरचना का उपयोग कर रहा हूँ। तो मेरे app.js में मैं 'var credentials = new authModel()' बना रहा हूं। जो मैं समझता हूं, उससे मुझे लॉगिन दृश्य में इस 'क्रेडेंशियल्स' var तक पहुंच प्राप्त करनी होगी। लेकिन क्रेडेंशियल्स एक वैश्विक चर नहीं है, इसलिए लॉगिन दृश्य में प्रमाण-पत्र शून्य है - किसी भी डेटा को न देखें। – codemonkey613

उत्तर

2

मैं भी इसी स्थिति में हूं। मुझे this post मिला और यह this solution का उपयोग करने के हर अनुरोध से पहले कुछ करने का सबसे अच्छा विकल्प लगता है।

एक्सेस करने और लॉगिन करने से पहले यूआरएल एक्सेस करने से पहले, मैं कुकी द्वारा प्रमाणीकृत करने या लॉगिन दृश्य चलाने के लिए जा रहा हूं।

तरह से अन्य फ़ोल्डर (jQuery कुकी) को शामिल करने के बारे में - require.js तंत्र बस का उपयोग करें:

  1. आपका मुख्य फ़ाइल 'require.config' में -> 'पथ' प्लगइन स्थान जोड़ने (jqueryCokkie :)
  2. आपके विचार में पथ नाम ('jqueryCookie') जोड़ने और इसे finction के पास 'परिभाषित करें' के तहत
  3. .js फ़ाइल में होना चाहिए following structure (मैं, यहाँ कोड उदाहरण पेस्ट की कोशिश की लेकिन समस्याएं मिलीं ...)।
संबंधित मुद्दे