एक पृष्ठ पर चल रहे बहुत सारे AJAX के साथ एक काफी जटिल साइट डिज़ाइन करना। मैं उस बिंदु तक पहुंच गया हूं जहां कुछ उपयोगकर्ता को चीजों को करने की विशिष्ट अनुमति होनी चाहिए और कुछ को कार्रवाई से रोका जाना चाहिए। मैंने अपने डेटाबेस में उपयोगकर्ता भूमिकाएं स्थापित की हैं और सभी ठीक काम कर रहे हैं, लेकिन मुझे आश्चर्य है कि प्रत्येक अनुमति को स्टोर करने के लिए मेरे लिए एक आसान/सुरक्षित तरीका है या नहीं।उपयोगकर्ता अनुमतियों को स्टोर करने का सबसे अच्छा तरीका?
वर्तमान में, जब कोई उपयोगकर्ता अपनी विशिष्ट अनुमतियों में लॉग इन करता है तो उसे डीबी से पकड़ा जाता है और सत्र सरणी में लोड किया जाता है। यह जांचने के लिए कि क्या उपयोगकर्ता की अनुमति है, मैं बस यह देखने के लिए जांच करता हूं कि सरणी में अनुमति निहित है या नहीं। यह सुस्त लगता है, और लगभग जैसे ही मुझे एक बेहतर समाधान याद आ रहा है।
इसके अलावा, सत्र स्पष्ट रूप से उपयोगकर्ता द्वारा संपादित किया जा सकता है ... क्या कोई सुरक्षित तरीका है?
मैंने प्रत्येक चेक के लिए एक क्वेरी चलाने का विचार किया है, लेकिन यह एक साधारण AJAX अनुरोध के लिए लोड समय में काफी वृद्धि कर सकता है।
मैं किसी भी और सभी विचारों के लिए खुला हूं। धन्यवाद।
बाइनरी को समझाने के लिए धन्यवाद, मैं पहली बार भूमिका निभाने के दौरान उस तरह कुछ करना चाहता था। मैं उपयोगकर्ता भूमिकाओं और इंडव अनुमतियों वाले 2 डीबी टेबल के साथ जा रहा था, जो मेरे लिए पढ़ने के लिए और अधिक समझ में आता है। मैं यह भी कसम खाता हूं कि मैंने कहीं देखा है कि आपके सत्र डेटा को खींचना और इसे संपादित करना संभव था, हालांकि मुश्किल है। शायद नहीं। –
@ कैप्टन ओटिस, जैसा कि मैंने कहा था कि यह कुछ परिदृश्यों में काम करता है, न कि दूसरों में। आप अपने सिस्टम से बेहतर जानते हैं। सत्रों के लिए, इस तरह यह PHP में काम करता है लेकिन आपको उस सिस्टम की जांच करनी चाहिए जिसका आप उपयोग कर रहे हैं। यातायात की जांच करने के लिए फिडलर या वायर्सहार्क का उपयोग करें और देखें कि आपका उपयोगकर्ता वास्तव में क्या देख रहा है। यदि आगे की ओर जाने वाली सभी चीजें एक आईडी है (जो मूल्य बदलते समय बदलती नहीं है), तो आप ठीक हैं।यदि आप किसी आईडी से अधिक मान देखते हैं या यदि सत्र सत्र बदलते समय सत्र जानकारी बदलती है, तो आप परेशानी में हैं और आपने अपने सत्रों पर बारीकी से नजर डाली है :) – riwalk