2008-11-11 5 views
16

phpBB를 수정하는 데있어 초보자 용 질문에 도움이 필요합니다.내 사이트의 사용자 로그인을 phpBB에 어떻게 통합 할 수 있습니까?

저는 PHP로 개발 된 전체 시스템을 가지고 있으며 사람들이 다시 로그인하지 않고도 포럼을 탐색하고 원활하게 게시 할 수 있도록 phpBB를 통합하고자합니다.

이제 내 시스템의 사용자 테이블로 phpBB 사용자 테이블을 사용하고 (내 웹 사이트가 아닌 phpBB에 사람들을 등록시키는 것) 불행히도 불가능합니다. 우리 시스템을 다시 구축하는 것보다 시스템을 다시 실행하는 것이 더 많은 작업이 필요합니다. 자신의 기본 포럼).
나는 phpBB가 특정 사용자 ID가 phpBB의 users 테이블에 존재하지 않는다고 믿는다. (phpBB 사용자 테이블에 존재하지 않는다고 생각한다. 어디에나).

내가 찾을 수있는 모든 자습서 및 포럼 게시물은 기본으로 phpBB를 갖는 것을 암시합니다. 나는 그 반대의 방법으로 아무것도 할 수 없었다.

이 문제를 해결할 수있는 유일한 방법은 두 테이블을 상대적으로 동기화하는 것입니다.

두 사용자를 동기화 할 수 있다면 두 사이트를 통합하는 가장 좋은 방법은 무엇이며 내 사이트의 로그인 및 사용자 테이블을 "기본"사용자 테이블로 유지 하시겠습니까?
phpBB의 사용자 테이블에 레코드를 만들 때 특히 유의해야 할 사항이 있습니까? 아니면 알아내는 것이 상대적으로 간단합니까? 둘 이상의 테이블이 있다면 어떤 테이블을 써야합니까?

답변

11

이것은 y라는 것이 확실하기 때문에 ou've은 지금 뭔가를했다,하지만 당신은 미래의 일을 리팩토링해야하는 경우,이 phpBB3에서 인증 플러그인 전적으로 가능하다 :

http://wiki.phpbb.com/Authentication_plugins

내가 하나에서 일하고 있어요 지금의 phpBB가있다 "보조"시스템, 그리고 그것은 꽤 잘 진행되고 있습니다.

+0

나는 당신이 게시 한 링크를 따라 갔다. 단지 파일 include/auth_myauth.php를 만들고 파일에 login_myauth ($ username, $ password)라는 배열을 반환하는 메소드가 있어야한다고 생각한다. 내가 이것을했을 때 나는 ACP에서 그것을 설정할 수 없었다, 어떤 제안? –

+0

StackOverflow에 새로운 질문을 게시하는 것이 좋습니다. 6 년 전에 게시 한 이래로 phpBB를 사용하지 않았고 링크 된 위키 페이지가 2011 년 10 월 이후에 업데이트되지 않았습니다. 이전 버전의 phpBB를 유지하지 않는 한 아마 오래된 것입니다. –

5

이전에 사이트와 phpBB를 통합했지만 phpBB의 로그인 시스템/사용자 테이블을 기본 인터페이스로 사용했습니다. phpBB는 매우 진보 된 포럼 소프트웨어이기 때문에 사용자 및 로그인 시스템을 완전히 변경하는 것은 꽤 시간이 많이 걸리는 프로젝트입니다.

기본 로그인으로 사이트 로그인을 사용해야 할 때 PunBB을 사용했습니다. PunBB를 수정하는 것이 더 간단했습니다.

당신이 절대적으로 기본으로 자신의 로그인을 사용해야하고, phpBB를, 그때 내가 가장 쉬운 방법은 동기화 된 테이블을 유지하고, 누군가가 로그인하면 로그인 스크립트 모두를 호출하는 것입니다 점에서 당신과 동의합니다.

phpBB에 데이터를 삽입 할 때 users 테이블은 매우 간단합니다. 각 항목에는 사용자에 대한 기본 정보가 있으며 사용자 프로필에 대한 사용자 정의 필드가있는 경우 profile_fieldsprofile_fields_data 테이블로 이동합니다.

까다로운 점 중 하나는 phpBB가 사용자 암호를 암호화하는 방법입니다. phpBB 함수를 사용하여 phpbb_hash($password) 호출해야한다고 생각합니다.그것은 phpbb/includes/functions.php

2

당신은 phpBB를에 로그인하기 위해 아래에 사용할 수있는 파일에 funciton의 login_box를 참조하는 파일 phpBB를 로그인 코드를 phpbb/includes/functions.php

에 선언 된 것 :

$result=$auth->login($username, $password); 

if ($result['status'] == LOGIN_SUCCESS) { 

    echo "You're logged in"; 

} else { 

    echo $user->lang[$result['error_msg']]; 

} 
+0

사이트에서 phpBB의 users 테이블을 사용한다고 가정합니다. – Shinhan

관련 문제