Pergunta

Eu preciso de alguma ajuda com o que é provavelmente uma pergunta novato em termos de modificar phpBB.

Eu tenho todo um sistema desenvolvido em PHP, e eu gostaria de integrar phpBB para que as pessoas podem navegar em fóruns e postar sem problemas, sem efetuar login novamente.

Agora, usando usuários tabela de phpBB como a tabela de usuários para o meu sistema (e ter pessoas registrar no phpBB em vez de no meu site) não é possível, infelizmente, (que ia dar mais trabalho para refazer nosso sistema do que para construir o nosso próprio fórum básica).
Eu estou supondo que eu posso cortar o meu caminho para fazer phpBB acreditam que um determinado ID de usuário tenha logado, no entanto, que o usuário não existe na tabela usuários do phpBB (que eu estou supondo que fará com que ele erro fora praticamente todos os lugares) .

Todos os tutoriais e posts no fórum eu poderia encontrar implícita tendo phpBB como o primário. Eu não poderia encontrar qualquer coisa para fazê-lo o contrário.

Eu estou supondo que a única maneira possível de resolver isso é por ter ambas as tabelas relativamente sincronizados.

Agora, desde que eu posso ter tanto tabela de usuários sincronizados, qual é a melhor maneira de integrar ambos os sites, mantendo login e usuários a mesa de meu site como as "primárias"?
Além disso, há alguma coisa em particular que deve ter em mente ao criar registros na tabela de usuários do phpBB? Ou é relativamente simples de descobrir? O mesas eu deveria estar escrevendo para, se houver mais de um?

Foi útil?

Solução

Esta é uma questão de idade, então eu tenho certeza que você já trabalhou algo fora por agora, mas se você precisa de coisas refactor no futuro, isso é perfeitamente possível com plugins de autenticação em phpBB3:

http://wiki.phpbb.com/Authentication_plugins

Eu estou trabalhando em um agora onde phpBB é o sistema de "secundário", e está indo muito bem.

Outras dicas

Eu apenas trabalhado nesta tarefa hoje, depois de algumas investigações implementado um autenticação plug-in Aqui está um bom exemplo Obtendo phpBB para aceitar sessões Django

Eu integraram phpBB com um site antes, no entanto eu usei sistema de login do phpBB / tabela de usuários como o principal como você disse. Desde phpBB é um fórum de software bastante avançado, seria um tempo muito projeto consumindo para mudar seu sistema de usuário e login completamente.

Quando eu tive que usar o login do site como o principal, eu usei PunBB . Foi a maneira mais simples para modificar PunBB.

Se você absolutamente tem que usar seu próprio login como principal e phpBB, então eu concordo com você em que a maneira mais fácil seria a de manter as tabelas sincronizadas, e chamar ambos os scripts de login quando os logs alguém na.

Quando você está inserindo dados em phpBB, a tabela de usuários é bastante simples. Cada entrada tem a informação básica para um usuário, e se você tem campos personalizados para os perfis de usuário, eles vão para as mesas profile_fields e profile_fields_data.

Uma coisa complicada é como phpBB criptografa senhas de usuários. Eu acho que você tem que usar função chamada phpbb_hash($password) do phpBB para fazer isso. É declarado no arquivo phpbb/includes/functions.php

Para o código de login phpBB, veja login_box funciton no arquivo phpbb/includes/functions.php

Você pode usar o abaixo para fazer login em phpBB:

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

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

  echo "You're logged in";

} else {

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

}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top