在Javascript中确定用户通过PHP设置的角色

时间:2011-12-29 22:35:35

标签: php javascript user-permissions

在向现有PHP应用程序添加一些js网格时,我遇到了以下内容......

在网站的一个部分中,我需要向不同的用户角色显示不同的内容。我可以通过PHP应用程序中的一个简单的预构建方法检查他们的角色,但是我需要告诉JS方面角色是什么,以便它可以显示正确的内容。

我的第一个想法是在隐藏的div中将角色写入dom然后检索它以便在JS中使用:

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

...然后

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

但显然这不是一个好主意,因为任何有访问权限的人都可以操纵dom中的值并将其设置为他们喜欢的任何值。所以我的问题......

在这种情况下设置用户角色以使用javascript的最佳方式是什么?

3 个答案:

答案 0 :(得分:2)

这里真正的答案是用户可以操作的javascript客户端上的任何内容,因此最好只使用php显示特定于服务器端用户的内容。

此外,如果您沿着上面显示的路线往下走,您不需要查看所有代码,您只需使用下面的代码,无需绕过房屋将其添加到dom中。

var user_role <?php echo(5); ?>

答案 1 :(得分:2)

在客户端设置用户角色没有任何问题,只要它仅用于表示目的(例如,更改UI的颜色或隐藏/显示某些容器),并且在客户端更改角色不会导致要显示的其他数据。

不言而喻,用户角色的实际设置 - 以及用户获取或未看到的任何决策 - 都必须在服务器上进行。

答案 2 :(得分:0)

你可以让JQuery在运行时向服务器询问角色需要什么......

$.get('mysite/get_role.php', function(data) {
  var user_role = data;
  alert('User Role is ' + user_role);
});