1

我有 /site 和 /site/site-admin 的登录系统。我现在的问题是,如果我在 /site 上登录,/site/site-admin 认为您以管理员身份登录(显然是一个问题,哈哈)我找不到有关如何将会话设置为仅允许的任何信息目录,我只找到了存储会话数据的位置。

4

1 回答 1

3

使用session_name()为 /site 和 /site/site-admin 创建两个不同的会话怎么样?

只需session_name("<sitename>")在打开站点会话session_name("<sitename>-admin")之前以及在管理面板中打开会话之前调用。然后,您的两个站点有两个不同的会话 cookie、会话 ID 和会话数据。


编辑:

如果您需要在 /site 和 /site/site-admin 之间共享会话数据,您可能需要另一个解决方案。在这种情况下,将您的数据存储在$_SESSION['site']而不是$_SESSION(或$_SESSION['site-admin']相应地)。例如:$_SESSION['site']['logged_in'] = true;

在这种情况下,两个站点共享相同的会话,但不访问相同的会话数据。公共数据可以存储在任何其他数组键中($_SESSION['common']例如)。但请注意:在这种情况下,会话的纯粹存在并不意味着您已登录或授权。

于 2013-11-02T13:21:28.957 回答