Определите роль пользователя, установленную через PHP, в Javascript - PullRequest
0 голосов
/ 30 декабря 2011

При добавлении нескольких сеток js в существующее PHP-приложение я столкнулся со следующим ...

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

Моя первая мысль былазаписать роль в dom в скрытом div и затем извлечь ее для использования в JS:

<?php echo '<div id="user_role" style="display:none">5</div>'; ?>

затем ...

var user_role = $('#user_role').text();

Но, очевидно, это не очень хорошая идеятак как любой, у кого есть доступ, может манипулировать значением в dom и устанавливать его так, как ему нравится.Итак, мой вопрос ...

Каков наилучший способ установить роль пользователя для использования с javascript в такой ситуации?

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

Нет ничего плохого в том, чтобы установить роль пользователя на стороне клиента, если это только для презентационных целей (например, изменение цвета пользовательского интерфейса или скрытие / отображение определенных контейнеров), и изменение роли на стороне клиента не вызываетдополнительные данные для отображения.

Само собой разумеется, что фактическая настройка роли пользователя - и любые решения, которые пользователь получает или не видит - должны приниматьсясервер.

2 голосов
/ 30 декабря 2011

Реальный ответ здесь - что-нибудь на стороне клиента в javascript, которым пользователь может манипулировать, поэтому лучше всего показывать свой контент, специфичный для пользователей на стороне сервера, с вашим php.

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

var user_role <?php echo(5); ?>
0 голосов
/ 30 декабря 2011

Вы могли бы попросить JQuery спросить у сервера во время выполнения, какой должна быть роль ...

$.get('mysite/get_role.php', function(data) {
  var user_role = data;
  alert('User Role is ' + user_role);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...