Drupal bejelentkezés több aldomainen.

edgarpe képe

Kis kihagyás után folytatnám egy újabb villám Drupal tippel:

Tegyük fel, hogy készítünk egy új oldalt, legyen: example.com. Ha megfelelőek a web és dns szerver beállítások, akkor új oldalunk elérhető lesz mind a www előtaggal, mind anélkül, tehát ezeken a címeken: http://example.com és http://www.example.com. Ez eddig jó hír, de ha meglátogatjuk az oldalt az egyik formában, bejelentkezünk, majd átváltunk a másik verzióra, ott bizony nem leszünk belépve. Ez viszont zavaró, mert a később ránk mutató külső linkek valószínüleg mindkét verziót használni fogják. A felhasználók akik meg ezekről a külső oldalakról jönnek, nem fogják érteni, hogy miért vannak néha belépve, néha meg nem.

Belepillantva a .htaccess fájlba, azonnal láthatjuk a megoldást: a látogatókat át kell irányítani, úgy hogy mindig csak az egyik verziót használják. Ez mindössz két sor roppant egyszerű átírást jelenti a .htaccess fájlban, a művelethez pedig bőséges információ található megjegyzés formájában, erre nem is térnék ki.

De van egy másik lehetőség is, amelyet a settings.php rejt. Ebben a fájlban van elrejtve a $cookie_domain beállítás, amelyet ha nem állítunk be a drupal automatikusan kitalál. És pont itt jön be a gond: néha example.com -nak néha www.example.com-nak fogja kitalálni. Viszont ha mi fixen beállítjuk így:
<br />$cookie_domain = '.example.com';<br />
akkor mindkét esetre érvényes sütit állít elő majd a kód. A lényeg a pont az emaple.com előtt, amely annyit jelent hogy minden .example.com végű un. hostra érvényes a süti.

Egy átlagos weboldalnál ez a módszer nem jobb a .htaccess-es megoldásnál. De ha például egy oldalcsoportot készítünk, ahol különböző aldomaineken (a.exmaple.com; b.example.com, ...) különböző drupal telepítések szolgálnak ki más-más tartalmat, de közös felhasználó adatbázissal, akkor ezzel a megoldással már meg is valósítottuk az un. Single Sign On-t, amikoris egyszer kell belépni, és a felhasználó minden aloldalon belépve marad.

Most látom, nem is lett ez annyira rövid tipp, de remélem hasznos lesz néhány olvasónak.