2010-08-03 5 views
6

उपयोगकर्ताओं को निजी लिंक साझा करने की क्षमता देने का सबसे अच्छा तरीका क्या होगा जो किसी भी ऐसे पृष्ठ/दस्तावेज़/आइटम को देखने के लिए क्लिक करने वाले व्यक्ति को सक्षम बनाता है जगह पर गोपनीयता प्रतिबंध?रेल पर रूबी निजी लिंक साझाकरण: Google डॉक्स स्टाइल

मेरे मामले में: (अर्थात्: दोस्तों, दोस्तों के दोस्त, आदि)

एक उपयोगकर्ता किसी घटना के समय डेटाबेस में रिश्तों के कुछ समूहों तक सीमित हैं बनाता है: घटना नियंत्रक में before_filter मैं एक है यह सुनिश्चित करने के लिए कि उस उपयोगकर्ता को ईवेंट देखने की अनुमति है, वर्तमान लॉग इन उपयोगकर्ता की पात्रता की जांच करता है। अगर वे एक त्रुटि संदेश के साथ रूट पेज पर बूट नहीं होते हैं।

हालांकि, मैं एक विशेष परिदृश्य मौजूद होना चाहता हूं जहां उपयोगकर्ता एक ही गोपनीयता सेटिंग्स और अतिरिक्त में एक ईवेंट बना सकता है, ई-मेल, फेसबुक इत्यादि के माध्यम से अपने दोस्तों के साथ एक विशेष लिंक साझा करने में सक्षम हो। उन उपयोगकर्ताओं को खाते की आवश्यकता नहीं है (लेकिन ईवेंट के लिए साइन अप करने के लिए उसे एक करने की आवश्यकता होगी)। यह महत्वपूर्ण है क्योंकि एप्लिकेशन_कंट्रोलर में पहले_फिल्टर भी है जो सुनिश्चित करता है कि उपयोगकर्ता लॉग इन है।

मुझे लगता है कि मैं यहां रूटिंग के साथ कुछ कर सकता हूं ... अभी मेरे पास बस सरल/घटनाओं/72 सेटअप। क्या प्रत्येक कार्यक्रम में दो अलग-अलग लिंक होते हैं: एक सामान्य, और एक "विशेष कोड" संस्करण जो उन्हें उन दोनों को बाईपास करने में सक्षम बनाता है: first_filter?

लोगों के विचार क्या हैं?

उत्तर

4

मेरे पास एक अलग नियंत्रक होगा जो घटना के संदर्भ में हैश मान का उपयोग करता है।

बनाया गया_at + user_id जैसे कुछ सरल एक अद्वितीय संदर्भ बनाने के लिए धोया गया है।

आप बस एक निश्चित कार्रवाई पर चेक छोड़ सकते हैं लेकिन मैं पहले समाधान को अधिक पसंद करूंगा।

+0

धन्यवाद! मैं इसे आजमाने की कोशिश कर रहा हूं। – JackCA

6

मैं डेविड लियोड के उत्तर से सहमत हूं (इस चिंता को एक अलग नियंत्रक में अलग करना)।

लेकिन हैश बनाने के लिए मैं दृढ़ता से आपको कुछ गुप्त वाक्यांश के साथ हैश को सलाम करने की सलाह देता हूं।

require "digest" 
Digest::SHA512.hexdigest("#{created_at}#{user_id}.mysupersonicsecretSALT") 

हैश की गणना करने और उन्हें अपने सिस्टम के खिलाफ परीक्षण जब तक यह एक मौजूदा एक हिट के लिए गुप्त वाक्यांश के knowlegde बिना यह संभव नहीं है, ऐसा करने से,। यदि आप संवेदनशील डेटा को संभालने में हैं तो आपको आलसी नहीं होना चाहिए।

चीयर्स,

लुकास

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

  • कोई संबंधित समस्या नहीं^_^