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

发布于 2024-10-18 03:45:04 字数 110 浏览 1 评论 0原文

有没有一种简单的方法可以在同一域上的两个 cakephp 应用程序之间共享登录信息?

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

Is there an easy way to share login information between two cakephp apps on the same domain?

Basically, MainApp has a full fledged user management suite, and I just want SecondaryApp to know if a visitor is logged in or not.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难理解 2024-10-25 03:45:04

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

Make sure both applications are configured to handle the session the same way. In other words, we want both apps to read from the same cookie and we need both apps to look in the same location for that cookie.

//app\config\core.php for both apps
Configure::write('Session.save', 'php'); //cookie path
Configure::write('Session.cookie', 'app_name'); //cookie name

In your MainApp, wherever you do the Authentication, set a session variable indicating the user has logged in.

$_SESSION['isLoggedIn'] = true;

Then in SecondaryApp you can read the session variables and act accordingly. I suppose typically you would ask to user to login.

function beforefilter(){
    if(!$this->Session->read('isLoggedIn')) {
        die("Please <a href='/users/login'>Login</a>");
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文