2011-02-16 106 views
2

在同一个域上的两个cakephp应用程序之间共享登录信息有简单的方法吗?Cakephp在两个应用程序之间共享验证

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

回答

5

确保两个应用程序都配置为以相同方式处理会话。换句话说,我们希望这两个应用程序都从同一个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>"); 
    } 
} 
+0

当然!虽然有$ this-> Session->写入?我没有在cakephp书中看到一个 – Dave 2011-02-16 21:22:07

相关问题