1

我正在检查用户是否是来自 ldap 的管理员,我也从 ldap 获得价值

部分代码是,

foreach ($memberOf as $key => $value) {
    $membership = explode(",", $value);
    $member     = explode("=", $membership[0]);
    if (in_array($member[1], $adminGroups)) {
        $is_admin = TRUE;

    } elseif (in_array($member[1], $userGroups)) {
        $is_admin = FALSE;
    }

所以我的问题是,我如何$is_admin在我的应用程序的任何地方使用这个变量,以便我可以根据用户是否是管理员等隐藏一些按钮?

我需要在会话中设置这个变量吗?

4

2 回答 2

0

使用 PHP 的会话!

只需session_start()在您希望在...中使用会话的文件顶部

分配会话密钥

$_SESSION['is_admin'] = true;

然后稍后在应用程序的不同部分检查密钥...

if($_SESSION['is_admin'] === true) { /* do stuff */ }

将它与函数或类结合起来,您就可以拥有一个简单易用的身份验证库。

http://us2.php.net/manual/en/book.session.php

编辑

我不得不稍微使用 LDAP 身份验证。你要做的最后一件事是敲击 LDAP 服务器并锁定你的帐户,这就是我建议会话的原因。验证一次......一旦通过验证,只需从那里使用会话直到它过期......然后用户只需再次登录。

于 2013-06-28T21:33:40.140 回答
0

有几个选项:

  • 如果您希望它在页面重新加载/导航后持续存在,请使用会话
  • 在静态类中使用静态成员,以便在不需要持久性时可以在任何地方引用它
于 2013-06-28T21:34:37.470 回答