0

PHP HybridAuth 需要使用 PHP 会话,但是,我们希望避免使用服务器端会话,因为我们在多台机器上运行应用程序。

我们不介意用户是否每次都需要在需要时向提供者进行身份验证,那么,在使用 HybridAuth 时是否可以避免使用 PHP 会话?

[1] http://hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html

4

2 回答 2

1

简短的回答是否定的。

更长的答案是它是可能的(但在大多数情况下需要在身份验证提供程序上进行会话),但是在这里解释选项将花费太长时间,并且从您的问题的语气来看,您需要对潜在选项进行非常详细的描述.

但这是基于您不能跨多台机器进行会话的前提。这是微不足道的。即使跨多个数据中心运行会话也是一种更简单的解决方案,而且由于您似乎没有将会话用于身份验证以外的任何事情,因此您不会遇到可伸缩性问题。

于 2014-10-30T18:21:54.927 回答
0

如果您的应用程序不使用 PHP 会话机制,您可以通过创建自己的存储函数来覆盖默认会话存储,同时了解多个服务器。

例如: http: //php.net/manual/en/function.session-set-save-handler.php

然后,您可以在 Memcached 中设置会话(对于这种特殊情况,您应该只使用 php.ini 和以下说明: http: //php.net/manual/fr/memcached.sessions.php),或者 MySQL,或者所有服务器(例如 NFS)都可以访问的物理存储。

虽然,我认为即使您有多个服务器,默认是将用户重定向到相同的 IP 地址(在 DNS 循环声明中,或在标准负载平衡器中),因此每个服务器上的唯一存储,不可见其他服务器应该可以工作。

于 2016-08-31T12:45:39.153 回答