CakePHP kimlik ve kullanıcı modeli

2 Cevap php

Şimdi benim CakePHP uygulaması içine kimlik doğrulama ve yetkilendirme entegre ve bazı zorluklar yaşıyorum çalışıyorum.

İlk kadar, ben ACL kullanarak değilim. It scares me.

Benim AppController ben bu var:

var $components = array("Auth");

Yani, kullanıcı oturum açmış kontrol etmek istediğiniz zaman, benim denetleyicileri birinden bu çağrı:

$this->Auth->user();

Ve benim usrs tablodan bilgi (benim tablo Usr usrs modeli denir) bir dizi olsun.

Sorunu ben sık sık Usr model üzerinde işlevleri çağırmak isteyeceksiniz, bu yüzden benim denetleyicisi bunu yapmak zorunda olduğunu:

$usr = ClassRegistry::init('Usr');
$usrInfo = $this->Auth->user();
$usr->set($usrInfo);
// -- or --
$usr = ClassRegistry::init('Usr');
$usrId = $this->Auth->user('id');
$usr->id = $usrId;

Bu çok cakey görünmüyor ve ben daha iyi bir yolu olmalı biliyorum çünkü beni rahatsız ediyor. Ben bu yüzden ClassRegistry her zaman kullanmak zorunda değilsiniz var $uses = array("Usr") Benim AppController içine eklemek gerekir? Bunu yapmanın en iyi yolu nedir?

2 Cevap

Ben sadece tek bir satırda bunu yapmak için bir yol keşfetti ettik:

$this->loadModel('Usr', $this->Auth->user('id'))

Bu olsa iyi uygulama olup olmadığını ben hala bilmiyorum ...