我有三个网站Main,a,b。如果您通过" Main"登录网站然后我将启用网站会议" a"," b"。所以这很好。当用户退出主网站时,我必须登出其他两个网站" a"," b"。另外两个网站有两个不同的注销网址,因此我使用drupal_http_request在主网站的注销功能中调用这两个网站的注销网址
示例代码:
// this is the function where main website session are destroyed
function mymodule_logout(){
session_destory();
$request = drupal_http_request("http://B-website.com:8083/VideoBook/signout.action");
print_r($request);
if($request) {
drupal_goto($logout_url,$options);
}
}
输出:
stdClass Object ( [code] => 0
[error] => Error opening socket ssl://mywebsite.com:8443
[redirect_code] => 302
[redirect_url] => https://mywebsite.com:8443/cas/login?service=http%3A%2F%2Fmywebsite2.com%3A8083%2FVideoBook%2Flogin.action )
B-website-logout-url:http://B-website.com:8083/VideoBook/signout.action
当我在浏览器选项卡中运行此注销网址时,所有会话和cookie都被销毁,但是当我使用drupal_http_request(' http://B-website.com:8083/VideoBook/signout.action')运行此注销网址时; ,然后它会导致错误"错误打开套接字ssl://" 。提前致谢。
答案 0 :(得分:0)
基本上,signout.action需要会话数据,即当前登录的用户详细信息,但我们无法通过curl发送会话数据。所以它重定向到login.action。因此导致错误代码302.