передача параметров в php include / require construct

Я прочитал довольно много сообщений, которые очень похожи на вопрос, который я собираюсь задать, но я просто хотел убедиться, что нет более изощренного способа сделать этот. Любые отзывы приветствуются.

Я хочу создать механизм, чтобы проверить, имеет ли вошедший в систему пользователь доступ к php-скрипту, который в настоящее время вызывается . Если так, сценарий продолжится; в противном случае сценарий просто не работает, используя что-то вроде die ('у вас нет доступа') .

Я придумал два способа сделать это:

(предположим, что мой сеанс закодирован / работает нормально - т.е. я вызываю session_start (), правильно настраиваю переменные сеанса и т. Д.)

  1. Определите глобальный сначала переменную, затем проверьте глобальную переменную в требуемом файле заголовка. Например:

    Содержимое current_executing_script.php:

     // роль, которую должен выполнять авторизованный пользователь, чтобы продолжить 

    Я придумал два способа сделать это:

    (предположим, что мой сеанс закодирован / работает нормально - т.е. я вызываю session_start (), правильно настраиваю переменные сеанса и т. Д.)

    1. Определите глобальный сначала переменную, затем проверьте глобальную переменную в требуемом файле заголовка. Например:

      Содержимое current_executing_script.php:

       // роль, которую должен выполнять авторизованный пользователь, чтобы продолжить 

      Я придумал два способа сделать это:

      (предположим, что мой сеанс закодирован / работает нормально - т.е. я вызываю session_start (), правильно настраиваю переменные сеанса и т. Д.)

      1. Определите глобальный сначала переменную, затем проверьте глобальную переменную в требуемом файле заголовка. Например:

        Содержимое current_executing_script.php:

         // роль, которую должен выполнять авторизованный пользователь, чтобы продолжить
        $ roleNeedToAccessThisFile = 'r';
        требуется 'checkRole.php'
        

        Содержимое checkRole.php:

         if ($ _SESSION ['user_role']! = $ RoleNeedToAccessThisFile) die ('нет доступа для вас');
        
      2. Определите функцию в файле заголовка и вызовите функцию сразу после ее включения / требования:

        Содержимое checkRole.php:

         function checkRole ($ roleTheUserNeedsToAccessTheFile) {
         return ($ _SESSION ['user_role'] == $ roleTheUserNeedsToAccessTheFile);
        } 

        Содержимое current_executing_script.php:

         требует 'checkRole.php';
        checkRole ('r') or die ('нет доступа для вас'); 

      Мне интересно, есть ли способ просто передать параметр в checkRole.php как часть конструкции include или require?

      Заранее спасибо.

19
задан Madara Uchiha 25 November 2014 в 09:00
поделиться