【发布时间】:2011-02-16 21:01:30
【问题描述】:
有没有一种简单的方法可以在同一域上的两个 cakephp 应用程序之间共享登录信息?
基本上,MainApp 有一个完整的用户管理套件,我只想让 SecondaryApp 知道访问者是否登录。
【问题讨论】:
标签: cakephp cakephp-1.2 authentication
有没有一种简单的方法可以在同一域上的两个 cakephp 应用程序之间共享登录信息?
基本上,MainApp 有一个完整的用户管理套件,我只想让 SecondaryApp 知道访问者是否登录。
【问题讨论】:
标签: cakephp cakephp-1.2 authentication
确保两个应用程序都配置为以相同的方式处理会话。换句话说,我们希望两个应用程序都从同一个 cookie 中读取数据,并且我们需要两个应用程序在同一位置查找该 cookie。
//app\config\core.php for both apps
Configure::write('Session.save', 'php'); //cookie path
Configure::write('Session.cookie', 'app_name'); //cookie name
在您的 MainApp 中,无论您在何处进行身份验证,设置一个会话变量来指示用户已登录。
$_SESSION['isLoggedIn'] = true;
然后在 SecondaryApp 中,您可以读取会话变量并采取相应措施。我想通常你会要求用户登录。
function beforefilter(){
if(!$this->Session->read('isLoggedIn')) {
die("Please <a href='/users/login'>Login</a>");
}
}
【讨论】: