Session 基于Yii会话登录到另一个应用程序

Session 基于Yii会话登录到另一个应用程序,session,login,yii,Session,Login,Yii,检查我是否从另一个应用程序登录到Yii的最佳方法是什么?如果您的应用程序位于同一服务器上,使用另一个应用程序的$\u SESSION可以访问Yii应用程序设置的会话变量 如果您的应用程序不在同一台服务器上,您可能需要为此使用会话数据库。当我使用print\r($\u session)时我得到数组([TZ_OFFSET]=>2.0[日光]=>1[1A016E9E0BD3488317800050505E0F6562\uUu id]=>1[1a016e9e0bd34883178000505e0f656

检查我是否从另一个应用程序登录到Yii的最佳方法是什么?

如果您的应用程序位于同一服务器上,使用另一个应用程序的
$\u SESSION
可以访问Yii应用程序设置的会话变量


如果您的应用程序不在同一台服务器上,您可能需要为此使用会话数据库。

当我使用
print\r($\u session)时我得到
数组([TZ_OFFSET]=>2.0[日光]=>1[1A016E9E0BD3488317800050505E0F6562\uUu id]=>1[1a016e9e0bd34883178000505e0f6562\uUu名称]=>admin[1a016e9e0bd34883178000505e0f6562id]=>1[1a016e9e0bd34883178000505e0f6562\uU62状态]=>
如何确保此会话来自我的yii应用程序?您的yii应用程序在变量前面加上“1a016e9e0bd34883178000505e0f6562”。它是特定于应用程序的。或者,当我们的组织实施单点登录时,我们专门确定会话中存在的密钥,例如
$\u SESSION['Common']['user\u id']
。我需要知道如何获得前缀“1a016e9e0bd34883178000505e0f6562”。您可以通过CWebUser的
getStateKeyPrefix
获得该前缀。或者,也可以通过
setStateKeyPrefix
进行设置。更多信息:一个小但重要的更正-两台服务器不需要位于同一台服务器上,但更准确地说,需要使用相同的域。更准确地说:(1)两个应用程序都需要在PHP中使用相同的会话处理。如果你不知道我在说什么,那么你可能是安全的。在这个箱子上标记“通过”。(2) 需要设置Yii应用程序会话cookie,以便其他应用程序也可以使用它。在web上用PHP搜索会话cookie域等信息。最后,我会选择其他一些(简单的)同步机制。