2015-04-15 3 views
1

Я пытаюсь сделать страницу недоступной, если пользователь не имеет определенного уровня разрешений и является пользователем системы.Что я делаю неправильно с этим кодом сеанса?

Я предоставил свой код ниже.

<?php 
session_start(); 

     include 'login/config.php'; 

     if($_SESSION['username']=='user' && $_SESSION['permissionlevel']!='one');{ 
      echo "<script>you dont have permission to access this page</script>"; 
      header:("location:dashboard.php"); 
     } 



?> 

Где я иду не так с кодом?

EDIT:

Измененный код с помощью Neelesh, однако она до сих пор не работает.

+1

Уровень разрешения на доступ для пользователя в сеансе, проверьте, имеет ли уровень доступа доступ к странице! – Naruto

+0

Я ценю это, но я спросил, КАК это сделать, какой код мне нужен для достижения этого. Я знаю, что я должен делать, и объясню это, я просто не знаю, как туда добраться. – DGTLSS

+0

Я здесь не для того, чтобы писать для вас код. И я просто сказал вам, КАК это сделать. Поскольку вы уже знаете, как хранить что-то в сеансе и сравнивать в if, это все, что вам нужно? – Naruto

ответ

1

Я думаю, что вы ищете реализацию ACL или как ее работа. У Zend Framework есть хорошая реализация. Смотрите здесь: http://framework.zend.com/manual/current/en/modules/zend.permissions.acl.intro.html как его работа.

рассматривает

+0

Thankyou, я посмотрю на реализацию ACL и, надеюсь, смогу создать что-то из этого, что позволит моим пользователям использовать определенные права доступа. Спасибо за помощь. – DGTLSS

1

, если предположит, что вы имеете UserRoles, как, администратор и пользователь

и разрешения уровни один, два и три

на основе этого UserRole и разрешения уровней вы можете проверить, если вы эту страницу преобразуют их в сеанс во время входа в систему

if($_SESSION['USERROLE']=='USER' && $_SESSION['PERMISSIONLEVEL']!='THREE') 
{ 
echo "<script>you dont have permission to access this page</script>"; 
header:("location:index.php") 
} 

этой простой проверкой вы можете дать доступ к конкретной странице i f не перенаправлять его на домашнюю страницу с оповещением msg

+0

Я дам вам попробовать, могу ли я просто спросить, есть ли! должен находиться там во второй строке сеанса? – DGTLSS

+0

, что ур желание на основе вашего требования вы можете изменить его на == оператор также ... – Neelesh

+0

ahhh Я вижу, спасибо за быстрый ответ Я дам ему идти сейчас! – DGTLSS

Смежные вопросы