메인 사이트와 Invision Power Board
소프트웨어 사이에 사용하기 위해 SSO (Single Sign-On)
시스템을 구축했지만 주 사이트에서 로그 아웃 할 때 IPB
사용자를 로깅하는 방법을 모르겠습니다.외부에서 IPB의 사용자를 어떻게 로그 아웃합니까?
또한이 작업을 수행하려면 외부 파일에 어떤 파일을로드해야합니까? 당신은 사용자가 "저를 기억"경우 session_destroy();
와 세션을 파괴하는 시도 할 수
메인 사이트와 Invision Power Board
소프트웨어 사이에 사용하기 위해 SSO (Single Sign-On)
시스템을 구축했지만 주 사이트에서 로그 아웃 할 때 IPB
사용자를 로깅하는 방법을 모르겠습니다.외부에서 IPB의 사용자를 어떻게 로그 아웃합니까?
또한이 작업을 수행하려면 외부 파일에 어떤 파일을로드해야합니까? 당신은 사용자가 "저를 기억"경우 session_destroy();
와 세션을 파괴하는 시도 할 수
편집 : 이것에 대한 IPB 코드를 사용하려면 다음 public_core_global_login
을 확장하고 개인적으로, 당신이 I를 $this->member->setMember($member_id);
을 설정해야 작동이에 대한 doLogout()
방법 의 전화
require_once(IPS_ROOT_PATH . 'applications/core/modules_public/global/login.php');
을 포함해야 , 이렇게 한 적이 없으므로 수동으로 할 수있는 방법은 다음과 같습니다.
IPB는 세션에서 데이터를 설정하고 자동 로그인을 위해 여러 쿠키를 저장합니다. IPB 소스를 사용하지 않고도 수행 할 수 있습니다.
query("DELETE FROM ".$ibf_prefix."sessions WHERE member_id = $userid");
updatecookie($ibf_cookieid."member_id",0,time()-1800);
updatecookie($ibf_cookieid."pass_hash",0,time()-1800);
updatecookie($ibf_cookieid."session_id",0,time()-1800);
당신은 conf_global.php에서 $ ibf_prefix를 읽을 수 있습니다 :
$ibf_prefix = $INFO[sql_tbl_prefix];
당신이해야 할 일은 (주 쿼리 및 updatecookie은 DB 쿼리를 수행하고 각각의 쿠키 값을 설정, 일부 pseudofunctions 있습니다)입니다 및 $ibf_cookieid
은 다음과 같습니다
$ibf_cache = query_first("SELECT cs_value FROM " . $ibf_prefix . "cache_store WHERE cs_key = 'settings'");
$ibf_cache = unserialize($ibf_cache['cs_value']);
$ibf_cookieid = $ibf_cache['cookie_id'];
당신은 admin/applications/core/modules_public/global/login.php
doLogout
방법의 소스를 읽을 수 있습니다
IPB API에 대해 알지 못합니다.
고맙습니다. 나는 그것을 시도해야 할 것이다. 그래서'login.php'뿐만 아니라'conf_global.php'도 포함시켜야합니까? 수동으로하면'login.php'도 포함시켜야합니까? 마지막으로, 나는 어떤 종류의 init 파일을로드해야한다고 생각했다. IPB 파일이'initdata.php'라고 생각한다. – Brett
수동으로 수행하는 경우 conf_global.php가 필요하지 않습니다. 로그인을 확장하여 할 경우 initdata.php, sources/base/ipsRegistry.php 및 sources/base/ipsController.php를 포함해야한다고 생각합니다.하지만 전에 말한 적이 없기 때문에 –
방금 전에 이것을 시도해 보면 ...'query_first'가하는 일과 데이터 배열을 어떻게 반환 할까? – Brett
당신이 너무 쿠키 pass_hash
을 삭제해야 할 체크.
그 해결책은 조금 비좁은 것처럼 보입니다. IPB가 사용자를 로그 아웃하는 것과 동일한 방법을 사용하는 것을 선호합니다. – Brett
그들은 같은 도메인에서 호스팅됩니까? – Companjo
@Companjo 예, 포럼은 @'/ forum /'입니다. – Brett