【发布时间】:2013-12-07 04:23:34
【问题描述】:
我使用laravel-3 开发的网站有两个不同的部分:
-
公开。哪个网址是
/ -
管理员。哪个网址是
/admin
在公共部分用户可以登录以访问他们的帐户,而在管理员中,只有具有所需权限的用户才能登录。
现在我无法区分一个部分中使用的会话与另一部分中使用的会话,因为两者都使用相同的session 配置参数,因此任何登录公共部分的人都可以进入管理区域。
我一直在考虑为admin 部分定义一个环境,并为cookie 和path 定义不同的值:
$environments = array(
// Local
'admin' => array('http://localhost*/admin'), // To handle anything inside section "admin"
'local' => array('http://localhost*'), // To handle everything else
);
但是因为Request::detect_env() 只用url root 来检查这些规则,所以admin 环境永远不会出现(laravel/core.php:183)。
$root = Request::foundation()->getRootUrl();
$environment = Request::detect_env($environments, $root);
【问题讨论】:
标签: php session laravel laravel-3