ممكن تعريف نظام الصلاحيات بشكل مبسط بأنه مبدأ السماح والمنع. فأن إلية توجيه المستخدم إلى الوظيفة التي يؤديها بالموقع أو تحديد مهام كل شخص بالنسبة للأخر هو ما يمثل نظام صلاحيات من النوع البسيط. وان الصلاحيات المواقع غير متشابهة فيما بينها مما يعني لا
يمكنك أتباع معيار محدد لتطبيق الصلاحيات على مواقع مختلفة. فان التحقق من هوية الشخص المستخدم للموقع عن طريق اسم المستخدم وكلمة المرور يعرف بالتصديق وعند القول ما هي الصلاحيات لدى مستخدم الموقع يعرف ذلك بالتصريح وهي الخطوة التي تلي التصديق مباشرتاً ويعتبر كلا المفهومين من مفاهيم نظام الصلاحيات المستخدمين.
ملاحظة: يعتبر المثال أدناه نموذج بسيط لعمل تسجيل الدخول حسب الصلاحيات
مثال: في هذا المثال سوف نقوم بأخذ ثلاث أنواع من المستخدمين وثلاث أنواع من الصلاحيات موزعة حسب الجدول التالي: –
بعد معرفة عدد المستخدمين والصلاحيات المسندة إليهم من خلال الجدول أعلاه يمكن اعداد مخطط توضيحي يبين الالية التي من خلالها اعداد نظام صلاحيات بشكل مبسط
من خلال المخطط أعلاه ماذا نستنتج؟
ان هنالك صفحة تسجيل الدخول وصفحة الفحص وقاعدة بيانات ,فعند اعداد نظام صلاحيات يجب ان تكون هنالك صفحة تسجيل الدخول على أساس ان المستخدم يقوم بكتابة الاسم وكلمة المرور ومن ثم أرسال اسم المستخدم وكلمة المرور الى صفحة الفحص لكي يتم التحقق من البيانات المدخلة ومطابقتها مع قاعدة البيانات (التصديق) . فاذا كان ما تم أدخالة مطابق لما موجود في قاعدة البيانات تم إعطاء الصلاحيات المخولة للمستخدم – في حالة تحقق الشرط -(التصريح). ام إذا كان ما تم إدخاله غير موجود في قاعدة البيانات يجب الرجوع الى صفحة تسجيل الدخول مرة أخرى –عدم تحقق الشرط –
طريق عمل قاعدة بيانات حسب المثال
- /* خلق قاعدة بيانات */
-
- CREATE DATABASE IF NOT EXISTS login;
-
- /* استخدام اسم قاعدة البيانات */
-
- USE login;
-
- /* خلق جدول للمستخدمين */
-
- CREATE TABLE `log` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `user_name` varchar(20) NOT NULL,
- `user_pass` varchar(10) NOT NULL,
- `Level` varchar(10) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-
- /* ادخال المستخدمين في الجدول حسب الصلاحيات */
-
- INSERT INTO `log` (`id`,`user_name`,`user_pass`,`Level`) VALUES
- (1,'ali','a123','Admin'),
- (2,'ahmed','ah78','author'),
- (3,'qassim','q54','visitor');
-
صفحة تسجيل الدخول Login.php
-
- <form action="register.php" method="post">
- User name : <input type="text" name="user">
- Password : <input type="password" name="password">
- <input type="submit" name="submit">
- </form>
-
صفحة الفحص والمطابقة register.php
- <!--?php
-
- /* جلب اسم المستخدم وكلمة المرور والاتصال بقاعدة البيانات لغرض المطابقة */
- $User =trim ($_POST['user']);
- $Pwd =trim($_POST['password']);
- if (!empty ($User)&&($Pwd)){
- $conntion=mysql_connect('localhost','mysql_user','mysql_password') or die ('No conntion');
- mysql_select_db('login',$conntion);
- $sql="SELECT * FROM `log` WHERE user_name='$User' AND user_pass='$Pwd'";
- $sql_reuslt=mysql_query($sql,$conntion) or die ('Sql Not Execution');
- $sql_reuslt_array=mysql_fetch_assoc($sql_reuslt);
- $id =$sql_reuslt_array[id];
-
- /* المستخدم هو مدير الموقع */
- if($id==1){
- ?-->
- <h2>welcome Admin</h2>
- <form action="" method="">
- <input type="text" name="" placeholder="Full name">
- <input type="text" name="" placeholder="Age">
- <input type="text" name="" placeholder="Jobs"><br>
- <button>Add</button>
- <button>Delete</button>
- <button>Edit</button>
- </form>
- <!--?php
-
- /* المستخدم هو كاتب في الموقع */
-
- }elseif($id==2){
- ?-->
- <h2>welcome Author</h2>
- <form action="" method="">
- <input type="text" name="" size="30" placeholder="title"><br>
- <textarea cols="25" rows="10">write</textarea><br>
- <button>Add</button>
- <button>Edit</button>
- </form>
- <!--?php
-
- /* المستخدم هو زائر */
-
- }elseif($id==3){
- ?-->
- <h2>welcome Visitor</h2>
- <!--?php
-
- /* في حالة عدم تحقق الشروع أعلاه الرجوع الى صفحة تسجيل الدخول*/
- }else{
- header('Location: login.php');
- exit;
- }
- }
- ?-->
* بإمكانك إدراج الأكواد الغير قابلة لنشر بتحويله عبر محول الأكواد
لتصلك إشعارات ردود هذا الموضوع على البريد الإلكترونى أضف علامة بالمربع بجوار كلمة "إعلامى"
محول الأكواد عبر عن تعليقك اترك بصمتك