0

有一个主站点(它使用 Drupal),在同一个域中(可能在子域中)有一个 yii 应用程序,为这个 Drupal 站点的用户实现了一些功能。

如果他们在同一个域上,他们可以共享cookie(会话cookie)。

仅向从同一域登录到主站点的用户授予对 yii 应用程序的访问权限的最佳方法是什么?我如何更改 yii 应用程序以仅允许登录主站点的用户访问它?两个站点都由同一个人控制。

我看到的一种可能的解决方案似乎相当复杂,我不喜欢它:在 yii 应用程序中询问登录名和密码,然后脚本将尝试登录主站点(例如使用 curl),如果登录它以验证用户(即使应用程序位于不同的域上,它也应该可以工作)。所以在这种情况下,我们不检查数据库中的用户和密码,而是看看我们是否可以使用用户传递的凭据登录主站点。这是一个可行的解决方案吗?什么是更好的选择?

就我而言,是否可以为同一域(子域)Drupal 站点和 yii 应用程序上的不同应用程序共享相同的登录名?

例如,在 yii 中我在 cookie PHPSESSID 中的会话名称,对于 drupal 站点,它是 SES + hash(domain)。如果用户登录drupal站点并访问同一个域(sundomain)上的yii应用程序,它会看到两个cookier吗?如果用户登录了 drupal 站点,我可以通过这个 cookie 检查吗(也许在 drupal 上创建一些页面来提供此信息)?

提前感谢您提供任何可以提供线索的信息。

4

1 回答 1

0

我猜你必须对 CwebUser 类负责。

你可以读这个!http://www.yiiframework.com/doc/api/1.1/CWebUser

于 2013-10-11T12:20:20.520 回答