不同文件夹的会话管理


Session Management for different folders

我正在开发一个包含两个不同门户(管理员和成员)的应用程序。http://localhost/app/用于成员登录,http://localhost/app/admin用于管理员登录。

当我登录到成员和管理员门户时,两者都可以正常工作,但如果我从一个门户注销,另一个门户会自动注销。

我检查了在/tmp/目录中创建的会话文件是否将两个门户的会话信息存储在一个文件中,这导致了上述问题。我认为解决办法是将两个门户的会话信息保存在不同的目录中。我搜索了很多,但没有得到任何解决方案:(

请帮忙。提前感谢!

您可以单独销毁会话元素,而不仅仅是调用session_destroy();

例如,管理员使用$_SESSION['logged_a'],用户使用$_SESSION['logged_u']

然后,根据您注销的位置,执行unset($_SESSION['logged_a'])unset($_SESSION['logged_u'])

我希望这能有所帮助!祝你好运

PHP会话在使用cookie时按域工作。如果你想为每个目录都有单独的登录系统,你的应用程序就必须处理这个问题。一种可行的方法是将会话id与会话登录到的门户的引用一起存储在数据库中。当用户从一个门户注销时,删除显示会话已登录到该门户的记录,而不是销毁会话。