Autor Zpráva
WMPopi
Profil
Ahoj,
mám web, kde je část obsahu (dokumenty atd a fórum) přístupná jen pro členy. Je příliš komplikované, abych se jako člen musel přihlašovat jednak na webu a druhak při vstupu do diskuze.

1. nápad: nechat fórum otevřené bez registrace a udělat si meziskript, kam pomocí mod_rewrite pošlu vše co má v url /diskuze/, ověří jestli je něco v $_SESSION[webadmin] a pak buď bude pokračovat na požadovanou adresu, nebo vypíše chybu.

To by myslím bylo proveditelné, ale zároveň potřebuju ve fóru u příspěvků vidět jména těch členů.

2. nápad: při registraci člena na web provést skrytou registraci i do tabulky fóra a pak při každém přihlášení člena na web podstrčit přihlášení i fóru. Zatím jsem vyzkoumal, že fórum nepoužívá uložení v sessions, ale ukládá si hash do cookies.


Možná na to jdu ale příliš složitě a někdo zná jednodušší řešení?
Děkuju za reakce.
shaggy
Profil
WMPopi:
Zatím jsem vyzkoumal, že fórum nepoužívá uložení v sessions, ale ukládá si hash do cookies
Si si istý, že vieš ako funguje session? phpbb určite session používa, identifikátor sa predsa musí niekam uložiť.

Podľa toho, čo píšeš, myslíš, že by si zvládol urobiť ten "medziskript"? A ako by mal fungovať? Ak by si tam presmeroval všetko, čo má v url /diskuze/, tak by sa tvoja požiadavka zacyklila (pretože po overení prihlásenia by si ho chcel poslať na pôvodnú adresu, ktorá tiež obsahuje /diskuze/ a v tom prípade ťa to opäť presmeruje na overenie prihlásenia).

Je taký problém používať iba jednu tabuľku používateľov - práve tú z phpbb? A pri prihlásení na webe prihlásiš používateľa rovnako, ako by to urobilo fórum (čiže si zistíš, čo všetko musí byť v session, či sa niečo zapisuje do db atď.).
WMPopi
Profil
shaggy:
Si si istý, že vieš ako funguje session? phpbb určite session používa, identifikátor sa predsa musí niekam uložiť.
jsem; sledoval jsem co se vytváří na serveru při přihlášení, vytvořil se prázdný soubor a spousta údajů byla v cookies

tak by sa tvoja požiadavka zacyklila
tak to by se dalo ošetřit přidáním něčeho do url po kontrole (a pak podmínkou v rewrite, že toto nesmí obsahovat)

Používat pouze tabulku z phpbb mě nenapadlo, dobrý nápad, ale nejspíš nebudu moci používat - systém se svojí tabulkou uživatelů potřebuje pracovat, vážou se na to další funkce a nastavení. Zkusím se podívat do zdrojů phpbb jak tam funguje přihlašování a nenajdu-li lepší řešení než bod č. 2, udělám to tak..
WMPopi
Profil
Našel jsem nejelegantnější řešení: při přihlašování ve vlastní aplikaci provést:

define('PHPBB_INSTALLED', true);
define('IN_PHPBB', true);
define('ROOT_PATH', "diskuze");

$phpEx = "php";
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : ROOT_PATH . '/';
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$auth->login($login, $password, $trvale, 1, 0);


Při odhlašování pak:
$user->session_kill();
$user->session_begin();


Zdroj: www.phpbb.com
WMPopi
Profil
Taky jednoduché řešení, navíc řeší i registraci do fóra www.freewebcomponent.com/sample/phpBB/Login/phpBB_Integration_in_our_own_website.html

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0