Jump to content
php.lv forumi

Kohana - kā korekti izveidot lietotāju grupu sistēmu?


reGative

Recommended Posts

Atkal labvakar!

 

Tātad, it kā ar kategorijām tiku galā. Tagad seko lietotāju reģistrācija. Tagad tā jāpartaisa, jo ir jāinserto uzreiz 2 tabulās.

Viena ir lietotāju (id, niks, epasts, parole) un otra ir lietotāju pieeju tabula (lietotāja id, grupas id). Ja jaunajam jūzerim nav zināms id, tad kā to ieinsertot otrā tabulā? Vai ir iespējams to sakombinēt ar joiniem?

Joins nav vajadzīgs. Join izmanto datu izgūšanai 

 

Vispār jau kohana ir Auth modulis http://kohanaframework.org/3.2/guide/api/Auth_ORM

 

Ieslēdz to bootstrap.php

 

Tad iekopē auth.php no modules\auth\config uz savu application\config un samaini File uz ORM lai lietotājus glabātu DB nevis failā

 

'driver'       => 'File',

 

tad izveido tabulas: http://docs.kohanaphp.com/addons/auth#database_schema_for_orm_driver 

 

tad veido lietotāju un role apmēram tā:

// izveido User modeļa objektu
$user = new Model_User();

// dabū post datus
$post = $this->request->post();
// padod tos datus modelim un izveido lietotāju
$user->values($post)->save();

// atrod role 'login'
$loginRole = ORM::factory('Role')->where('name', '=', 'login')->find();
// pieliek klāt 'login' role litotājam
$user->add('roles', $loginRole);

Logins logouts: http://kohanaframework.org/3.2/guide/auth/login

Link to comment
Share on other sites

  • Replies 44
  • Created
  • Last Reply

Top Posters In This Topic

Es atvainojos par, iespējams, trulu koda kopēšanu, bet manuprāt, ka šādi taču visam jāstrādā? Kods ir aplūkojams šeit . Errors ir 

 

ErrorException [ Notice ]: Undefined index: roles 

 . Saliku tabulas, kā vajag. Citi faili stāv, kā bijuši (to var manā git repo paskatīties), vienīgi šo kontroleri tagad laboju.

P.S. Ja posts neizskatās, kā vajag, tad piedošanu, jo es netieku galā ar šo tūli. ;)

Link to comment
Share on other sites

Tagad pārtaisu login daļu, jo pāreju uz auth moduli. Bet, man kodā ir rindiņa Auth::instance()->login(nick, pass) , bet man met kļūdu ErrorException [ Fatal Error ]: Call to undefined method Auth::instance() . modules mapē ir auth modulis, bootstrap'ā viņš ir ieslēgts, permisijas visam vienādas. Kas par vainu?

Link to comment
Share on other sites

 

P.s. Kāpēc tu nepārnes visu šito padarīšanu uz Ko3.3?

Tāpēc, ka ļoti daudz kas būtu jāizlabo un jāizmaina. Teiksim, visu failu nosaukumi.

 

 

Tavam APPPATH/classes/auth.php jābūt:

 

3. class Auth extends Kohana_Auth {}

Tagad šis bļauj, ka Kohana_Auth neeksistē.

Edited by reGative
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...