Ben doğru öğretici yaptık yemin edebilirdim, ama ben bir hata mesajı alıyorum ve benim aros_acos masa boş.
What I've already done:
On this page: http://book.cakephp.org/view/646/Creating-ACOs I've run "cake acl create aco root controllers" and it returned "New Aco 'controllers' created.". I've also added "$this->Auth->actionPath = 'controllers/';" to the beforeFilter() of AppsController. I do not understand the other piece of code since it is badly explained where it should go -- what exactly does it mean by "using the AclComponent"?
I've run the build_acl() from this page: http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs It has populated my 'acos' table with 46 entries.
http://book.cakephp.org/view/648/Setting-up-permissions Ben apps_controller.php içine sayfasında bulunan kopyaladığınız kodu ve ben kullanıyorum grupların kimlikleri işaret etmek için hafifçe ermesi: Bu benim sorunlar yatıyor inanıyoruz sayfası:
function initDB() { $group =& $this->User->Group;
//Allow admins to everything $group->id = 5; $this->Acl->allow($group, 'controllers'); //allow managers to posts and widgets $group->id = 6; $this->Acl->deny($group, 'controllers'); $this->Acl->allow($group, 'controllers/Posts'); $this->Acl->allow($group, 'controllers/Widgets'); //allow users to only add and edit on posts and widgets $group->id = 7; $this->Acl->deny($group, 'controllers'); $this->Acl->allow($group, 'controllers/Posts/add'); $this->Acl->allow($group, 'controllers/Posts/edit'); $this->Acl->allow($group, 'controllers/Widgets/add'); $this->Acl->allow($group, 'controllers/Widgets/edit');
}
Ben de kullanıcı ve gruplar denetleyicileri gelen allowedActions tüm başvuruları alınan ve benim mesajlar, widget'lar ve AppController sayfalara doğru kodu ekledim ...
Ziyaret ederek AppController içindeki initdb () çalıştırırken http://localhost/basic_cake2/groups/initDB Ben ekranın üstünde bir uyarı mesajı olsun. Diyor ki:
DbAcl::allow() - Invalid node [CORE/cake/libs/controller/components/acl.php, line 325]
BAĞLAM:
$aro = stdClass stdClass::$id = 5 $aco = "controllers" $actions = "*" $value = 1 $perms = false $permKeys = array( "_create" "_read" "_update" "_delete" ) $save = array()
KOD:
if ($perms == false) { trigger_error(__('DbAcl::allow() -
Geçersiz düğüm ', true), E_USER_WARNING);
VE AYRICA GÖSTERİLERİ:
DbAcl::allow() - CORE/cake/libs/controller/components/acl.php, line 325 AclComponent::allow() - CORE/cake/libs/controller/components/acl.php, line 101 AppController::initDB() - APP/app_controller.php, line 23 Object::dispatchMethod() - CORE/cake/libs/object.php, line 116 Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 227 Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 194 [main] - APP/webroot/index.php, line 88
On checking the aros_acos table I find that nothing has been added!
Therefore the authentication doesn't work on any pages... :( Does anybody have any ideas? I've no idea how to debug this and I asked on #cakephp but they were quite silent in response and basically just told me to re-read the documentation.
EDIT: Okay, so I read the tutorial a little harder and it turns out I've been running the function from the wrong file. I moved it to the Users Controller and it added 3 rows to the aros_acos table.
Ben hala bir şeyler yanlış gidiyor düşünüyorum böylece Ancak, ben hala o hata mesajı alıyorum!
Hata mesajı için bağlam ilginç olan, değişmiş gibi görünüyor. Şimdi okur:
$ Aro = Grup
Grup :: $ name = "Grup"
Grup :: $ validate = array
Grup :: $ hasMany = array
Grup :: $ actsAs = array
Grup :: $ useDbConfig = "default"
Grup :: $ useTable = "grupları"
Grup :: $ displayField = "isim"
Grup :: $ id = 6
Grup :: $ data = array
Grup :: $ tablo = "groups"
Grup :: $ primaryKey = "id"
Grup :: $ _schema = array
Grup :: $ validationErrors = array
Grup :: $ tablePrefix = ""
Grup :: $ ad = "Grup"
Grup :: $ tableToModel = array
Grup :: $ logTransactions = false
Grup :: $ işlem = false
Grup :: $ cacheQueries = false
Grup :: $ belongsTo = array
Grup :: $ hasOne = array
Grup :: $ hasAndBelongsToMany = array
Grup :: $ Davranışlar = BehaviorCollection nesne
Grup :: $ whitelist = array
Grup :: $ cacheSources = true
Grup :: $ findQueryType = null
Grup :: $ özyinelemeli = 1
Grup :: $ order = null
Grup :: $ __exists = null
Grup :: $ __associationKeys = array
Grup :: $ __associations = array
Grup :: $ __backAssociation = array
Grup :: $ __insertID = null
Grup :: $ __numRows = null
Grup :: $ __affectedRows = null
Grup :: $ _findMethods = array
Grup :: $ _log = null
Grup :: $ user = Kullanıcı nesnesi
Grup :: $ Aro = Aro nesne
$ Aco = "kontrolörleri / Mesajlar"
$ Eylemler = "*"
$ Değer = 1
$ Perms = false
$ PermKeys = array (
"_create"
"_read"
"_update"
"_delete"
)
$ Tasarruf = array ()