Cakephp在两个应用程序之间共享身份验证

Cakephp在两个应用程序之间共享身份验证,cakephp,cakephp-1.2,authentication,Cakephp,Cakephp 1.2,Authentication,在同一个域上的两个cakephp应用程序之间是否有一种简单的方式共享登录信息 基本上,MainApp有一个完善的用户管理套件,我只想让SecondaryApp知道是否有访客登录。确保两个应用程序都配置为以相同的方式处理会话。换句话说,我们希望两个应用程序都从同一个cookie读取数据,并且我们需要两个应用程序在同一位置查找该cookie //app\config\core.php for both apps Configure::write('Session.save', 'php'); //c

在同一个域上的两个cakephp应用程序之间是否有一种简单的方式共享登录信息


基本上,MainApp有一个完善的用户管理套件,我只想让SecondaryApp知道是否有访客登录。

确保两个应用程序都配置为以相同的方式处理会话。换句话说,我们希望两个应用程序都从同一个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>");
    }
}
函数beforefilter(){
如果(!$this->Session->read('isLoggedIn')){
死(“请”);
}
}

当然可以!虽然有$this->Session->write吗?我在cakephp书中没有看到。是的,有一个$this->Session->write(),我猜eSentrik正在为另一个应用程序使用$u Session。