Sziasztok!
Elolvastam 2x a Larry Ulman féle yii könyvet. Nem biztos hogy mindent egyből tudok is, de valamicskét már kezdek kapizsgálni. Biztos hogy még rengeteget kell tanulnom de igyekszek. Egyébként ez egy baromi jó könyv kezdőknek, eléggé szájbarágósan magyaráz, még én is megértettem sokmindent!
Azt nagyjából már látom, hogy szerintem alapból benne kellene lennie a Yii-ben egy adatbázis alapú felhasználó- és jogosultságkezelésnek, mert ez annyira alap dolognak tűnik nekem, hogy szerintem sokkal több esetben szükség van erre mint nincs.
Nézegettem a különböző extension-öket, és van a yii-user (ezt fel tudtam tenni) meg a yii-user-management (egyébként volt közületek olyan aki már ezt sikeresen tudta telepíteni?), meg van a yii auth, és a yii rights (ezt is tudtam telepíteni, csak nem működött 100%-osan mert bizonyos ikonok nem jelentek meg asszem de ez már régen volt).
Nagy nehezen rábukkantam egy oldalra ahol tisztázza a szerző hogy az auth nem igazán működik együtt a yii-user kieggel. remek. én meg görcsöltem vele nem keveset és már kezdtem azt hinni hogy én vagyok ilyen sötét (pedig tényleg).
Ezzel kapcsolatban lenne egy olyan kérdésem, hogy nagy általánosságokban jól látom hogy egy alap adatbázisos user kezelőt nem olyan nagy ördöngősség megcsinálni, ugye? ez oké, de miért nincs akkor alapban egy alap ilyen dolog, mittudomén egy egyszerű séma, plusz egy kódrészlet ami kezeli a login-t meg stb. vagy van?
namost ha nekem célom az hogy legyen auth, vagy rights (egyébként mi a különbség a kettő között?) ahhoz persze valahol evidensnek tűnik hogy kell valami user megoldás is, de pl. explicit nem írják le sehol hogy "hé figyelj ehhez szükséged lesz ám egy user modellre is". Csak a hibaüzenetekből veszem észre hogy talán kéne neki, de nem tiszta hogy annak mit kéne tartalmaznia? milyen mezőket vár? a "szokásosakat"? (haha) username email pwd stb?
Ebben tudna nekem valaki egy kis iránymutatást adni?
köszi szépen!
update: csináltam egy akármilyen user táblát és modellt, és a yii-auth most elindult, bár nem éppen 100%-os ez sem.
update_2: újfent maradtam a jól bevált user+rights kombó mellett. ez legalább működik. bár hogy hogyan, azt még nem tudom
update_3: Előljáróban, csak egy sima skeleton applikációt tettem fel, és kísérletezgetek a user és rights modulokkal. Na nagyjából már értem hogy működik. Azonban amit nem értek, hogy a User modul cuccaira miért nem hat. berakom a filters()-t a UserControllerbe, nincs semmilyen operation engedélyezve a usernek ehhez a kontrollerhez a rights-ban, és mégis minden bejön. ami érdekességet véltem felfedezni az az, hogy a UserController a user modulban az nem az applikáció, hanem a framework Controller-ét terjeszti ki… azazhogy várjunkcsak. Ez most a Netbeans marháskodása, vagy bug, vagy feature, nem tudom, de tegnap még a SiteController az nem a framework controller-ét (D:/wamp/www/yii1115/framework/cli/views/webapp/protected/components/Controller.php) terjesztette ki, hanem az applikáció components mappájában található Controllert, amit át is kellett írni, hogy ne a CControllert terjessze ki, hanem az RControllert (ami persze a CControllert terjeszti ki hogy megmaradjon az eredeti logikai lánc is), azaz a rights controllerét, hogy működjön a filter. Aztán mivel a user modulnál nem működött, ránéztem hogy az milyen kontrollereket használ, és látom hogy az nem a protected/components/Controller.php-t terjeszti ki, hanem az előbb említett framework-ös kontrollert. És azóta hogy erre így CTRL-lal ráklikkeltem, azóta már a SiteController-nél is azt mutatja ha CTRL-lal fölé viszem az egeret!
A site/contact captcha képe sem látszik, holott ez az Action engedélyezve van az adott usernek. Ez miért van? Biztos hogy a rights fogja meg valahol/valahogy, de hogy/hol? Mert az adminnak látszik.
update_4: a site.error-t is engedélyeznem kellett ahhoz hogy a Captcha megjelenítse a képet. biztos logikus de én csak kizárásos alapon jöttem rá. mindegy a lényeg hogy megy. nem tudom az jó irány-e ha megpróbálom valahogy explicit megmondani neki hogy ne a framework Controller-ét használja, hanem az applikációét, de ezt megpróbálom valahogy.
és bár jól elvagyok itt magamban beszélgetve, azért néha nem lenne ám rossz ha valaki reflektálna valamit hogy totál tévúton járok-e vagy azért hellyel közzel…
UPDATE_5: rájöttem. ez valszeg csak NetBeans bug lehet. Lényegtelen. a lényeg az hogy a user modul összes controllerébe bele kell tenni a rights filtert ha azt akarjuk hogy mindegyikben működjön. persze nem kell tényleg mindegyikbe belerakni, pl. a logoutControllerben elég értelmetlen lenne ha nem engednénk kijelenetkezni az embereket. ami hiányzott az én boldogságomhoz, az a DefaultController volt. abba betettem és teljesült amit szerettem volna, és még jobban megértettem hogy működik a dolog. azt hiszem a user és rights modulokkal innentől kezdve képben vagyok.