Folyik a domain modul tesztelése ezerrel és újabb kérdés merült föl:
Az egyik aloldalhoz létrehozott editori jogosultságú juzer símán be tud jelentkezni másik oldalra is.
1. Meg lehet-e ezt akadályozni, azaz, az adott domain-en létrejött juzer máshová ne tudjon bejelentkezni?
2. Meg lehet-e azt akadályozni, hogy egy juzer, aki csak az egyik domainhez tartozik, ne tudjon tartalmat fölvinni másik domain-re?
Ha igen, akkor hogyan!
Előre is köszi !
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
izgalmas
Hello!
Nálam ugyanez a kérdés felmerült, nem találtam rá megoldást, így a userek egyedi táblák lettek, de viszont ez azt vonja maga után, hogy legyen más tábla is egyedi. A hook_domainupdate függvénnyel tudsz insertálni új usert az új domainre létrehozáskor, vagy a user_save-el esetleg, bár az nekem ennél nem működött.
Azonban a domain modul logikájába nekem ez kérdőjel még, hogy alapból a rendszer miért nem teszi lehetővége a domainenkénti egyedi userek használatát. Vagy lehetővé teszi, de én nem tudok róla, tehát ez a kérdés engem is nagyon érdekelne.
üdv
Muszáj lesz megoldani, szóval
Muszáj lesz megoldani, szóval meg lesz rá a megoldás tuti, csak nagyon bíztam aboros-ban, hogy hátha csípőből kilövi a megoldást. :)
Gazsesz
hat csipobol csak annyit tudok,
hogy prefixeljed a user tablat. nem tunik tul nagy bodottanak. :)
nem talaltam ilyen contrib modult sajna. viszont a domain strict alapjan szerintem nem lenne tul nehez irni egy olyat, ami megtagadja a belepest, ha adott user nincs hozzarendelve az aktualis domainhez.
viszont, ha irsz is egy ilyet, azert elgondolkoznek, hogy ha tenyleg kulon user bazist kell kezelnem domainenkent, akkor biztos a domain module e a jo megoldas vagy menjek e inkabb mas iranyba.
-
clear: both;
Köszi! Ami felé gondolkodom,
Köszi!
Ami felé gondolkodom, persze nem biztos, hogy kivitelezhető:
- Rules modul
- minden domain-hez egy role
- ha regisztrál az oldalra, akkor automatikusan megkapja a domain role-t
- minden domain-ra belépéskor leellenőrzöm, hogy a user a megfelelő role-lal rendelkezik-e
- ha nem, akkor átirányítom a logout oldalra (magyarul kihajítom)
Ki fogom próbálni, de nyugodtan megírhatjátok, ha nagyon nagy hülyeség!
Gazsesz
Megcsináltam, működik. Ha
Megcsináltam, működik.
Ha valakit mélyebb részletek érdekelnek, írjon bátran.
Gazsesz
nekem a koncepcióval van problémám
minden domainhez egy role? nemár...
domain modul tud olyat, hogy minden usert hozzárendelhetsz (pl a user/%/edit oldalon) egy vagy több domainhez. ez a kapcsolat tehát megteremthető, csak az a "probléma", hogy a domain modul alapesetben ezt a kapcsolatot tartalom szerkesztési jogosultságok kiosztásához használja. (látod a jogosultságok oldalon az ilyen jogokat, hogy "edit domain nodes" meg ilyenek)
erre építve kéne szerintem megcsinálni, minden domain egy role megoldás már igen kevés domainnél is idegesítő lesz szerintem.
talán még rulesal is megy (php módban biztos), ugyan ez a metódus. user belép, hozzá van rendelve ő ehhez a domainhez? nincs » logout, üzenet megjelenítése neki, hogy miért lett kivágva. :)
-
clear: both;
Arra indultam el én is,
Arra indultam el én is, hogyha már van egy user-domain összerendelés, akkor azt vizsgálom, de egyszerűen nem tudtam megoldani.
Létrehoztam egy User controll rules set-et, ahol megadtam, hogy ellenőrizze a user-hez rendelt domaint a [user:domain-id] tokennel.
Azután létrehoztam egy triggered rules-t, hogyha belép a user, akkor futtassa le a user controll Rules set-et.
Szépen le is fut, de valami miatt nem helyesen, mert tök mindegy, hogy milyen domain-hez van a user rendelve.
Ezért maradt a nem túl elegáns gyalogmódszer.
Gazsesz
Revidiálnom kell az
Revidiálnom kell az álláspontomat, mert a fentebb leírt módszer nem csak nem elegáns, hanem nem is működik, úgyhogy ott a pont az Ádámnál.
A felhasználók domain-enkénti elkülönítésének legbiztosabb működő módja a Domain Prefix modul használata, amivel sokkal kényelmesebben és adatvédelmi szempontból is biztonságosabban meg lehet oldani ezt a problémát.
Gazsesz
Domain prefix: Nem tudom,
Domain prefix:
Nem tudom, hogy mi az amit elcseszek, de kezdek beleőrülni. Létrehozom a domainhez rendelt users, user role, permission táblát, hogy a default domain-ből másolja át. Majd amikor az "új" domainen regisztrálok egy új júzert, akkor létrehozza a default domain-en is.
Ha default-ont kitörlöm, akkor a domain-en is kitölrődik.....áááá... olyan, mintha nem is a külön létrehozott táblát használná. Már töröltem a cache-t is.
Van valakinek ötlete, hogy miért lehet ez?
Gazsesz
No, időközben rájöttem a
No, időközben rájöttem a bugocskára.
1. Lemásolom a szükséges táblákat
2. Eldobom őket
3. Még 1x lemásolom őket
...és akkor rendesen működik.
Gazsesz
Sajnos ez sem
Sajnos ez sem működik tökéletesen!
Így már külön-külön kezeli a usereket, userneveket, de ugyanazt userid-t kiosztja minden domain esetén. A role-okat jól kezeli, de a user - domain összerendelés csúnyán felborul. Ha az egyik domainen létrehozott user-nél beállítom, hogy ahhoz a domain-hez tartozzon, akkor az minden olyan domianen megváltozik, ahol van ugyanolyan uid-ű júzer.
Az a megoldás jutott eszembe, hogy nem kellene kiosztani ugyanazokat az uid-eket többször, csak nem tudom, hogy hol kezdjek neki.
Amit találtam, hogy a domain_editor táblában tárolja a rendszer, hogy melyik user melyik domain-hez férhet hozzá és ez a tábla közös.
Ha vki tudna ebben segíteni, vagy van más megoldási ötlete, jelentkezzen!
Gazsesz
Kollegákkal összedugtuk a
Kollegákkal összedugtuk a fejünket és végül egy "izgalmas" megoldásra jutottunk.
1. Leszedjük az auto increment -et user tábláról.
2. Új user létrehozásakor lekérdezzük a domain editor táblából a legnagyobb uid-et, majd ahhoz 1-et hozzáadva határozzuk meg az új user uid-jét.
Amit nem látunk pontosan, hogy okozhat-e gondot a rendszer más részeiben, működésében az auto increment eltávolítása.
Szerintetek?
Gazsesz
nem hangzik tul jol igy megvaltoztatni a kornyezetet
viszont azt irtam a keresobe: domain module prefix user table
kb a harmadik talalat volt egy issue, ahol ilyet szeretett volna a kolega (~2009) .. az issue végén pedig egy link egy modulcsomagra:
http://drupal.org/project/domain_bonus
tehat elvileg pont azt csinalja amit szeretnel.
-
clear: both;
Csak majdnem.... :( Ezt már
Csak majdnem.... :(
Ezt már kipróbáltam és valóban azt csinálja, hogy csak oda enged belépni, ahová regisztráltál, azzal a szépséghibával, hogy máshová viszont nem enged regisztrálni, mert hibaüzenetet dob, hogy ez az e-mail cím már szerepel a rendszerben.
Szóval akkor lehet választanom, hogy vagy ezt az ellenőrzést kapcsolom ki, vagy a korábban leírt megoldást csinálom meg.
Csak, hogy érthető legyen a háttér: egy drupallal szolgálunk ki több, teljesen független weboldalakat, akik szeretnék a látogatóikat regisztrálni, nyilvántartani.
Amúgy köszi és boldog ünnepeket neked is meg mindenkinek!
Gazsesz
heló!
heló!
Erre van már vmi használható megoldás?
Én is ide jutottam el sok keresgélés után, az alábbi állapottól:
http://drupal.hu/forum/multisite-sso-nelkul/18175
köszi a tippeket
Ez megoldás lehet a dologra
Ez megoldás lehet a dologra?
https://drupal.org/project/sharedemail
próbálta már valaki domain access-szel?