protected function prepareData()
 {
     $this->auth->insertRule(new AuthorRule());
     $this->auth->createOperation('createPost', 'create a post');
     $this->auth->createOperation('readPost', 'read a post');
     $this->auth->createOperation('updatePost', 'update a post');
     $this->auth->createOperation('deletePost', 'delete a post');
     $task = $this->auth->createTask('updateOwnPost', 'update a post by author himself', 'isAuthor');
     $task->addChild('updatePost');
     $role = $this->auth->createRole('reader');
     $role->addChild('readPost');
     $role = $this->auth->createRole('author');
     $role->addChild('reader');
     $role->addChild('createPost');
     $role->addChild('updateOwnPost');
     $role = $this->auth->createRole('editor');
     $role->addChild('reader');
     $role->addChild('updatePost');
     $role = $this->auth->createRole('admin');
     $role->addChild('editor');
     $role->addChild('author');
     $role->addChild('deletePost');
     $this->auth->assign('reader A', 'reader');
     $this->auth->assign('author B', 'author');
     $this->auth->assign('editor C', 'editor');
     $this->auth->assign('admin D', 'admin');
     $this->auth->assign('reader E', 'reader');
 }