管理员以用户身份登录而不知道用户密码?

时间:2012-06-15 09:05:58

标签: php mysql

我正在尝试提供管理员功能,管理员可以在不知道密码的情况下以其他用户身份登录。所有网站内容均受权限控制。我的问题是 -

  • 我应该在切换到用户帐户之前注销管理员用户吗? 这是否意味着管理员必须重新登录?
  • 如果我需要切换回管理员帐户 - 我如何解决此问题,因为“用户”没有管理员权限,但我之前以管理员身份登录?
  • 我需要记住的任何其他事情?

你有什么建议?

2 个答案:

答案 0 :(得分:3)

我不熟悉CI,但这是一个通用的解决方案:

当选择冒充用户时,您:

  • 用户ID 存储在会话中 admin user id
  • 使用目标用户ID替换会话中的用户ID (即,在成功登录期间执行任何操作)

如果会话中存在 admin用户ID ,则会在某处显示“结束模拟”链接。点击该链接时,您:

  • 使用 admin用户ID 替换会话中的用户ID
  • 从会话中删除管理员用户ID

答案 1 :(得分:2)

  1. 不要销毁管理会话

  2. 检查管理员会话是否已设置

    if(isset($_SESSION['admin']))
    {
          //authenticate the user without checking the password,only check the uname 
    }
    else
    {
        //authenticate the user by checking both username and password
    } 
    
  3. 请记住为用户和管理员保留两个单独的会话。

  4. 我希望能做到

相关问题