2012-08-05 8 views
13

प्रमाणीकरण करने का सबसे अच्छा तरीका क्या है? ऑन रेल्सरेल पर रूबी के साथ angular.js में सुरक्षा

रेल एप्लिकेशन मेरी दृश्यपटल के लिए एपीआई के रूप में उपयोग करते हुए रूबी:

दृश्यपटल पर मैं Angular.js

बैकएंड पर इस्तेमाल करते हैं।

अद्यतन: यह ही पृष्ठ आवेदन हो जाएगा। फ़्रंट्स पर रूबी में बैकएंड, Angular.js में फ्रंटेंड वाइल विकसित किया जाना चाहिए। आदर्श में मैं जेसन में लौटे संसाधनों के संग्रह के रूप में बैकएंड बनाना चाहता हूं।

मैं सुरक्षा कार्यान्वयन की सर्वोत्तम विधि खोजता हूं।

जब उपयोगकर्ता ऐप खोलता है तो मुझे यह जांचने की आवश्यकता है कि उपयोगकर्ता प्रमाणित है या नहीं। यदि नहीं - लॉगिन पृष्ठ पर जाएं, यदि प्रमाणित है - वह खोलें और बैकएंड से आवश्यक संसाधन लौटाएं।

मुझे लगता है कि मुझे क्लाइंट पक्ष पर ऑथ टोकन स्टोर करने की आवश्यकता है। इसे उत्पन्न करने का सबसे अच्छा तरीका क्या है, या शायद रेल पहले से ही मेरे लिए इसे उत्पन्न कर सकते हैं?

+0

मुझे लगता है कि मैं आपके प्रश्न के साथ किस दिशा में जा रहा हूं। व्यक्तिगत रूप से यह मुझे भी रूचि देता है। हो सकता है कि आप इसे थोड़ा सा फिर से भर सकें। क्या आप सामान्य रूप से यह प्रश्न पूछने के बजाय, आप कौन सी सटीक समस्याओं को हल करना चाहते हैं, निर्दिष्ट कर सकते हैं। –

उत्तर

4

मुझे एंगुलर.जेएस नहीं पता है, लेकिन मैं आपको रेलवे पर सामान्य जानकारी प्रदान करने की कोशिश करूंगा जिसका उपयोग आप किसी जावास्क्रिप्ट फ्रेमवर्क के साथ कर सकते हैं।

प्रमाणीकरण के लिए, आप बस की जरूरत है:

  • उपयोगकर्ताओं के लिए एक मॉडल
  • एक नियंत्रक जो लॉगिन संभाल, इस विधि की जांच उपयोगकर्ता लॉगिन/पासवर्ड, सभी आवश्यक जानकारी के साथ एक सत्र वस्तु बनाने (सत्र संग्रहीत किया जाता है सर्वर साइड और एक कुकी पर एक सत्र के लिए प्रत्येक अनुरोध)
  • हैंडलिंग लॉगआउट के लिए एक नियंत्रक जो मूल रूप से केवल उपयोगकर्ता के सत्र को नष्ट संबद्ध करने के लिए क्लाइंट-साइड पर प्रयोग किया जाता है

आपके पास एक अच्छा कार्यान्वयन in the rails tutorial here है, या आप कई प्लगइन्स पा सकते हैं (authlogic स्टैक ओवरफ्लो उपयोगकर्ता here की अनुशंसा प्रतीत होता है)।

फिर, स्थिर HTML पृष्ठों के साथ या AJAX के साथ निपटने के प्रमाणीकरण के बीच कुछ मतभेद है:

  • एक एचटीएमएल अनुरोध नियंत्रक, जो स्वत: एक बार एक और आंतरिक पृष्ठ पर रीडायरेक्ट करेगा करने के लिए लॉग इन और पासवर्ड भेज देंगे सत्र बनाने
  • AJAX में, ग्राहक के पक्ष में जावास्क्रिप्ट ajax अनुरोध सर्वर (सफलता/असफलता) द्वारा जवाब के लिए देखो भेजना चाहिए, और लांच अनुकूलित क्रिया (संदेश अगर विफलता, पुनर्निर्देशन अगर सफलता)

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

1

मैं इसी तरह कुछ करने के लिए कोशिश कर रहा हूँ और मैं जो मुझे सही दिशा में जा रहा प्राप्त करने के लिए बहुत उपयोगी साबित हुआ है इस उदाहरण एप्लिकेशन पाया: https://github.com/karlfreeman/angular-devise इसके बारे में

इसके अलावा चेकआउट आगे की चर्चा यहाँ: https://github.com/karlfreeman/angular-devise/issues/1

और यहां एक और रेपो है जो थोड़ा अलग दृष्टिकोण लेता है: https://github.com/colindensem/demo-rails-angularjs

मैंने उपरोक्त सभी से उधार लेने के विचारों को समाप्त कर दिया। यदि कोई दिलचस्पी लेता है तो यहां एक कामकाजी डेमो है: https://github.com/jesalg/RADD

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