Php 管理员在不知道用户密码的情况下以用户身份登录?
我试图提供一个管理员功能,管理员可以作为另一个用户登录,而不知道他们的密码。所有网站内容均受权限控制。我的问题是——Php 管理员在不知道用户密码的情况下以用户身份登录?,php,mysql,Php,Mysql,我试图提供一个管理员功能,管理员可以作为另一个用户登录,而不知道他们的密码。所有网站内容均受权限控制。我的问题是—— 我应该在切换到用户帐户之前注销管理员用户吗? 这是否意味着管理员必须重新登录 如果我需要切换回管理员帐户-由于“用户”没有管理员权限,但我以前以管理员身份登录,我该如何操作 还有什么我需要记住的吗 你有什么建议 我不熟悉CI,但这里有一个通用解决方案: 选择模拟用户时,您可以: 将用户id作为管理员用户id存储在会话中 将会话中的用户id替换为目标用户id(即,在成功登录期
- 我应该在切换到用户帐户之前注销管理员用户吗? 这是否意味着管理员必须重新登录李>
- 如果我需要切换回管理员帐户-由于“用户”没有管理员权限,但我以前以管理员身份登录,我该如何操作
- 还有什么我需要记住的吗
你有什么建议 我不熟悉CI,但这里有一个通用解决方案: 选择模拟用户时,您可以:
- 将用户id作为管理员用户id存储在会话中
- 将会话中的用户id替换为目标用户id(即,在成功登录期间执行任何操作)
- 将会话中的用户id替换为管理员用户id
- 从会话中删除管理员用户id
- 将用户id作为管理员用户id存储在会话中
- 将会话中的用户id替换为目标用户id(即,在成功登录期间执行任何操作)
- 将会话中的用户id替换为管理员用户id
- 从会话中删除管理员用户id
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
}
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
}
我希望这样做如果用户注销,您如何知道他是否是管理员?还有,你为什么要这么做?我不想让一些管理员访问我的帐户我正在使用CodeIgniter,但建议不必是特定于CI的!博诺-这是一项要求,因为有时用户的帐户中存在某些问题,管理员可以为他们解决。在Facebook上,你可以“在其他用户查看你的个人资料时查看”,我认为这是一项很好的功能,如果它适合你的网站,你可以这样做。然而,这不是一个共同的特征。您必须重新执行身份验证脚本和登录脚本,以便管理员可以将更改作为另一个用户传递。@Bono:用户模拟有很多非常有效的理由。检查复杂权限是否正确就是其中之一。除此之外,管理员可能有直接的数据库访问权限,这样对他来说就更容易了。如果你让用户注销,你怎么知道他是否是管理员?还有,你为什么要这么做?我不想让一些管理员访问我的帐户我正在使用CodeIgniter,但建议不必是特定于CI的!博诺-这是一项要求,因为有时用户的帐户中存在某些问题,管理员可以为他们解决。在Facebook上,你可以“在其他用户查看你的个人资料时查看”,我认为这是一项很好的功能,如果它适合你的网站,你可以这样做。然而,这不是一个共同的特征。您必须重新执行身份验证脚本和登录脚本,以便管理员可以将更改作为另一个用户传递。@Bono:用户模拟有很多非常有效的理由。检查复杂权限是否正确就是其中之一。除此之外,管理员还可以直接访问数据库,这样对他来说就更容易了。。我通常会清除会话以注销用户-所以我想在来回切换时可能必须手动取消设置()与“用户”或“管理员”相关的会话数据?(为了在会话中保持管理员id)嗯。。我通常会清除会话以注销用户-所以我想在来回切换时可能必须手动取消设置()与“用户”或“管理员”相关的会话数据?(为了保持会话中的管理员id)其所有权限都是基于权限的,因此“管理员”和“其他用户”没有明确的角色。其所有权限都是基于权限的,因此“管理员”和“其他用户”没有明确的角色