khany
khany

Reputation: 1187

Setting permissions in cakephp Pages controller

I followed Andrew Perkins excellent tutorial on setting up permissions in CakePHP 2.0.

My question, however, relates to how to use the allow and deny method in the Pages controller. Currently I have $this->Auth->allow('display') which allows all methods in the Pages controller to be view.

What if I only want the home page allowed but the rest denied? How do I code that?

Thanks in advance.

Upvotes: 0

Views: 1174

Answers (2)

bbb
bbb

Reputation: 702

Make sure you have copied the PageController.php to your app/Controller folder. Then, add a beforeFilter callback method and set access based on the passed page parameter:

public function beforeFilter() {   
    // Use $this->request->pass to get the requested page name/id   
    // Decide on access with $this->Auth->allow() 
}

This should solve your problem.

You can find more information on request's lifecycle in CakePHP manual. That's pretty useful stuff.

Upvotes: 1

Alessandro Minoccheri
Alessandro Minoccheri

Reputation: 35963

Have you tried this code? You can out it into your PageController or into your Controller directly

$views = array ('index'); //array of view that you want allow
$this->Auth->allow($views);

Upvotes: 0

Related Questions