PDA

View Full Version : سوال: اعمال سطوح دسترسی در PHP MVC



mohammadkiani
چهارشنبه 05 فروردین 1394, 22:35 عصر
سلام دوستان
من یک فریم ورک ساده PHP با استفاده از آموزش هایی که تو نت هست درست کردم.
همه چیز خوب هست؛ سوال بنده اینه که چگونه میتونم برای کاربرانم سطوح دسترسی ایجاد کنم؟
چیزی که مد نظر من هست بدین شکل هست:
در محیط مدیریت پورتال قسمتی وجود دارد که کاربر جدید را تعریف می کنیم. حالا بخشی وجود دارد که مشخص می کنم کاربر جدید به چه قسمت هایی از پورتال دسترسی داشته باشد؟ یعنی تیک گزینه ایجاد مقاله زده شود تا کاربر این دسترسی را داشته باشد.

دوستان اگر ممکن هست هم ساختار دیتابیس را تشریح بفرمایید و هم اینکه در کد PHP چطور دسترسی را چک کنم؟




ممنون

alinwp
پنج شنبه 06 فروردین 1394, 20:27 عصر
سال نو مبارک
خوب شما باید باید بیاید ابتدا تیبلی شبیه به این درست کنید


+---------------------------------------------+
|access[3] |
+-------+--------------------------+----------+
|id[int]|access[json[text]] |name[text]|
+-------+--------------------------+----------+
|1 |["cp.php","new_post.php"] |Admin |
+----------------------------------+----------+

سپس شما اگر رو اصول کار کرده باشید باید اطلاعات کاربر لاگین کرده رو توی یه سشن ریخته باشید ولی قبل از اون این دیتابیس رو به یک متغیر انتقال بدید مثلا:


<?php
$sql = self::$sql_obj->query("SELECT * FROM `access` WHERE 1");
foreach($sql as $row){
self::$access[$row['id']] = $row;
}
self::$user_count = $sql->rowCount();
?>

بعد شما باید زمانی که اطلاعات کاربر لاگین شده رو در سشن ثبت میکنید اینگونه عمل کنید:

$_SESSION['access'] = self::$access[$user['access']];
بعد از این در هر صفحه باید در متغیری نام صفحه قرار بگیره و با تابع json_decode سشن ایجاد شده رو تبدیل به آرایه کنید و سپس با تابع in_array چک کنید که نام صفحه در دسترسی کاربر وجود داره یا نه اگر نه کاربر رو به صفحه خطا هدایت کنید