2011-11-10 2 views

답변

8

당신은 줘야 해 phpBB 프레임 워크와 통합되는 스크립트가 필요합니다. 이런 식으로하면 효과가 있습니다.

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; 
$phpEx = substr(strrchr(__FILE__, '.'), 1); 
include($phpbb_root_path . 'common.' . $phpEx); 

// Start session management 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup(); 
?> 

이어서, (예를 사용 /includes/functions.phplogin_box() 함수 임) $auth->login() 함수 본다. 가장 단순한 아직 완료되지 않은 예는 다음과 같습니다

$result = $auth->login($username, $password); // There are more params but they're optional 

if ($result['status'] == LOGIN_SUCCESS) 
{ 
    // Logged in 
} 
else 
{ 
    // Something went wrong 
} 
-1

: 그것은 형태

  • 서버에서 답을 얻기에 기입 된 경우처럼

    • POST 데이터; 아마 후속 요청

    당신은 그것을 촉진하기 위하여 몇 가지 이미 기존 라이브러리를 사용하여 관심이 수도를 위해 쿠키를 전송 세션의 쿠키

  • 의 압축을 풉니 다.
    예를 들어, 당신은 Zend_Http_Client 한 번 봐 걸릴 수 있습니다 (see also를, Sending Multiple Requests With the Same Client에 대한 부분은 아마 ;-) 당신을 관심을 끄는)


    을 당신은 또한 같은 몇 가지 다른 질문/답변에서 살펴 봐야 할 수 있습니다 :

  • +0

    phpBB와 어떻게 관련이 있습니까? – nickb

    +0

    질문 : "프로그래밍 방식으로 phpBB 포럼에 로그인하는 방법?". 이것은 이것을 설명하는 좋은 대답입니다. – budwiser

    +0

    @budwiser - 질문은 ** phpBB **에 로그인하는 방법이었습니다. 일반적으로 원격 웹 응용 프로그램에 로그인하는 방법이 아닙니다.따라서 phpBB에는 적합하지 않습니다. 특히 API를 사용할 수있는 경우에는 HTML 및 원격 인증을 크롤링하는 것이 좋습니다. (OP의 질문은 분명히 로컬 인증 솔루션의 필요성을 명시하고 있습니다) – nickb

    10

    먼저 당신은 phpBB를위한 부트 스트랩해야합니다

    define('IN_PHPBB', true); 
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpBB/'; 
    $phpEx = substr(strrchr(__FILE__, '.'), 1); 
    include($phpbb_root_path . 'common.' . $phpEx); 
    
    $user->session_begin(); 
    

    당신은 포럼에 대한 상대 경로로 ./phpBB/ 부품을 교체해야합니다.

    사용자가 로그인하려면, 당신은 할 필요가 :
    $result = $user->session_create($user_id, $admin, $autologin, $viewonline); 
    

    $admin

    아마 false, $autologin$viewonline 당신이 원하는에 의존해야한다.

    참고 :session_create를 호출하면 사용자의 세션 쿠키를 설정, 그래서 당신은 현재 요청이 실제로 사용자에게 제공 될 때 전화를 확인합니다.

    +0

    당신의 솔루션이 사용자의 사용자 이름/패스워드를 받아 들일 수 없기 때문에 OP의 질문에 답하지 않지만, 특정 사용자의 로그인을 강요합니다'$ user_id '. – nickb

    +8

    충분히 공정하게, 나는 세부 사항에 조금 너무 멀리 갔다. 나는 어쨌든 내 대답을 남겨 둘 것이다. 왜냐하면 나는 그것에 노력을 기울이기 때문이다. 언젠가 누군가를 도울 수 있습니다. – igorw

    +0

    ID가 이미있는 경우 유용합니다. – nickb

    관련 문제