Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

उपयोगकर्ता खाता प्रबंधन, भूमिकाएं, अनुमतियां, प्रमाणीकरण PHP और MySQL

यदि आप कोई वेब एप्लिकेशन बना रहे हैं जिसमें किसी भी प्रकार की जानकारी बनाना, पढ़ना, अपडेट करना और हटाना शामिल है, तो यह बहुत सामान्य होगा कि डेटा पर इन विभिन्न कार्यों को करने के लिए विशेषाधिकारों को आपके उपयोगकर्ताओं के बीच उनकी विभिन्न भूमिकाओं के अनुसार साझा करना होगा। और आपके आवेदन पर अनुमतियां।

उदाहरण के लिए एक स्कूल प्रबंधन आवेदन को लें। ऐसे एप्लिकेशन के उपयोगकर्ता आमतौर पर श्रेणियों में आते हैं:छात्र, शिक्षक, विभागाध्यक्ष (एचओडी), और इसी तरह। आपके आवेदन में किसी छात्र को सेमेस्टर परीक्षाओं के लिए अपने परिणाम जोड़ने या अपडेट करने का विशेषाधिकार नहीं होना चाहिए। यह एक शिक्षक का कार्य होगा। और जब पाठ्यक्रम में कोई नया पाठ्यक्रम या विषय जोड़ा जाना हो तो उस पाठ्यक्रम को प्रणाली में जोड़ना केवल विभागाध्यक्ष का ही काम होता है।

ऐसी प्रणाली पर, हम छात्र, शिक्षक, विभागाध्यक्ष (विभागाध्यक्ष) को विभिन्न भूमिकाओं के रूप में संदर्भित कर सकते हैं हमारे आवेदन में। छात्र परिणामों को जोड़ने और अपडेट करने, नए पाठ्यक्रम जोड़ने जैसे कार्यों के लिए, हम इन्हें अनुमतियों के रूप में संदर्भित करेंगे।

अब तक के स्पष्टीकरण से, कोई पहले से ही यह अनुमान लगा सकता है कि एक उपयोगकर्ता की एक भूमिका होगी और एक भूमिका में कई अनुमतियाँ होंगी। उदाहरण के लिए, जॉन (एक उपयोगकर्ता) की एक भूमिका (छात्र) और कई अनुमतियाँ (रजिस्टर कोर्स, व्यू मार्क्स, प्रिंट ट्रांसक्रिप्ट, आदि) होंगी।

इसका मतलब है कि हमारे MySQL डेटाबेस में हमें 3 प्रमुख डेटाबेस तालिकाओं की आवश्यकता होगी:उपयोगकर्ता, भूमिकाएँ और अनुमतियाँ। हमें उपयोगकर्ताओं और भूमिकाओं के डेटाबेस तालिकाओं (एक भूमिका कई उपयोगकर्ताओं की है) और भूमिकाओं और अनुमति तालिकाओं के बीच कई-से-अनेक संबंध (कई भूमिकाओं को कई अनुमतियाँ सौंपी जा सकती हैं) के बीच एक-से-एक संबंध होना आवश्यक है। ।

आप इन भूमिकाओं को किस तरह से संदर्भित करते हैं, यह आप पर निर्भर है। हमारे उदाहरण में, हम भूमिकाओं का प्रतिनिधित्व करने के लिए छात्र, शिक्षक, विभागाध्यक्ष का उपयोग कर रहे हैं क्योंकि उदाहरण एक स्कूल प्रबंधन आवेदन के बारे में था। यदि आप किसी होटल प्रबंधन एप्लिकेशन पर काम कर रहे थे, तो प्रबंधक, क्लीनर, रिसेप्शनिस्ट और इसी तरह की कुछ भूमिकाएँ हो सकती हैं।

इस ट्यूटोरियल में, हम एक ब्लॉग एप्लिकेशन के लिए एक उपयोगकर्ता खाता प्रबंधन प्रणाली का निर्माण कर रहे हैं। इसलिए हम इन भूमिकाओं को लेखक, संपादक और व्यवस्थापक के रूप में संदर्भित करेंगे। बेशक आप उन्हें अपनी पसंद के अनुसार बदल सकते हैं लेकिन ये तीनों सामग्री प्रबंधन प्रणालियों के लिए लगभग एक मानक हैं।

एक पूर्ण व्यवस्थापक/उपयोगकर्ता पंजीकरण और लॉगिन प्रणाली लागू की जाएगी। सभी उपयोगकर्ता एक ही लॉगिन फ़ॉर्म के माध्यम से लॉग इन करेंगे और एक बार लॉग इन करने के बाद, केवल व्यवस्थापकीय उपयोगकर्ता (लेखक, संपादक, व्यवस्थापक) के पास व्यवस्थापक डैशबोर्ड तक पहुंच होगी जबकि सामान्य उपयोगकर्ताओं को सार्वजनिक होमपेज पर पुनर्निर्देशित किया जाएगा।

हम अपने डेटाबेस में एक पोस्ट डेटाबेस तालिका बनाएंगे ताकि हमारी अनुमतियों का परीक्षण करने के लिए कुछ हो। उदाहरण के लिए, संपादक की भूमिका वाला उपयोगकर्ता किसी भी और सभी पोस्ट को संपादित करने, अपडेट करने, प्रकाशित करने, अप्रकाशित करने और हटाने में सक्षम होगा, जबकि एक लेखक के पास केवल उन पोस्ट को बनाने, पढ़ने, अपडेट करने और हटाने की अनुमति होगी जो स्वयं द्वारा निर्मित। व्यवस्थापक के पास अन्य व्यवस्थापकीय उपयोगकर्ताओं और भूमिकाओं को बनाने, अपडेट करने, हटाने और उपयोगकर्ताओं को भूमिकाओं और भूमिकाओं के लिए अनुमतियां असाइन/अन-असाइन करने की अनुमति होगी।

नोट:मैंने पहले ही शुरुआत से एक संपूर्ण ब्लॉग एप्लिकेशन बनाने पर एक ट्यूटोरियल बना लिया है। इसलिए हम वास्तव में यहां पोस्ट बनाना, हटाना और अपडेट करना लागू नहीं करेंगे। हम केवल यह प्रदर्शित करेंगे कि ये अनुमतियां पोस्ट के आसपास कैसे काम करती हैं। यदि आप पोस्ट के साथ ब्लॉग बनाना सीखना चाहते हैं, तो PHP में ब्लॉग बनाने के तरीके के बारे में मेरा अन्य ट्यूटोरियल देखें।

प्रोजेक्ट निर्देशिका संरचना।

उपयोगकर्ता-खाते नामक एक प्रोजेक्ट फ़ोल्डर बनाएं और फिर उसके अंदर तीन अन्य फ़ोल्डर बनाएं:व्यवस्थापक, इसमें शामिल हैं, संपत्तियां, प्रत्येक में निम्नलिखित सबफ़ोल्डर हैं:

व्यवस्थापक:यह फ़ोल्डर एप्लिकेशन के व्यवस्थापक भाग के लिए स्रोत कोड रखता है। इस फोल्डर में तीन अन्य फोल्डर बनाएं, पोस्ट, रोल्स, यूजर।

संपत्ति:इसमें सार्वजनिक फाइलें होंगी जिन्हें ब्राउज़र द्वारा एक्सेस किया जाएगा जैसे कि चित्र, सीएसएस, जेएस। इसलिए एसेट के अंदर इमेज, css और js फोल्डर बनाएं।

इसमें शामिल हैं:इसमें हमारे एप्लिकेशन के लिए स्रोत कोड के पैच होंगे जिन्हें हम अपने एप्लिकेशन में विभिन्न स्थानों में शामिल कर सकते हैं। इस फ़ोल्डर के अंदर, दो अन्य फ़ोल्डर बनाएँ:लेआउट और तर्क।

इस बिंदु पर, हमारी परियोजना संरचना पूरी तरह से तैयार है। अब हम सिस्टम को कोड करना शुरू कर सकते हैं। हम इस ट्यूटोरियल के अगले भाग में ऐसा करेंगे।

आपके ध्यान के लिए धन्यवाद और मैं आपको अगले भाग में देखने की आशा करता हूं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक mysqli तैयार बयान में नल का उपयोग करना

  2. OSX 10.6 में Python और Django के साथ MySQLdb का उपयोग कैसे करें?

  3. लोकलहोस्ट बनाम 127.0.0.1 mysql_connect () में

  4. MySQL में दो तिथियों के बीच अंतर

  5. (mysql, php) डेटा डालने से पहले auto_increment फ़ील्ड मान कैसे प्राप्त करें?