मेरे पास एक सारणी है जो उपयोगकर्ता उपयोगकर्ताओं (user_level_id) से जुड़े मेरे उपयोगकर्ताओं (user_levels) को विभाजित करती है। स्तर 5 प्रशासक है।केकेपीएचपी अधिकृत नहीं है
मैं कुछ कार्यों को देखने से समझना चाहता हूं और समझ सकता हूं कि मैं इसे अधिकृत कर सकता हूं। मैं पुस्तक के अनुसार गया और मुझे पूरा यकीन है कि मेरे पास यह सही है, लेकिन यह काम नहीं कर रहा है। यह किसी भी लॉग इन उपयोगकर्ताओं को अभी भी किसी भी क्रिया का उपयोग करने की अनुमति देता है हालांकि मैं इसे अधिकृत करता हूं।
App Controller:public $components = array(
'Session',
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
),
'authError' => "Your username and password is incorrect, please try again.",
'authenticate' => array(
'Form' => array(
'scope' => array('User.user_status_id' => 1)
)
),
'redirect' => array("controller" => "users", "action" => "profile"),
'loginRedirect' => array("controller" => "users", "action" => "profile")
)
);
public function isAuthorized($user = null) {
if($this->Auth->user("user_level_id") == 5) {
return true;
}
// Default deny
return false;
}
public function beforeFilter() {
$this->Auth->allow("display");
if($this->Auth->loggedIn() == true) {
$this->set("user_name",$this->Auth->user("first_name")." ".$this->Auth->user("last_name"));
$this->set("loggedIn",true);
if($this->Auth->user("user_type_id") == 5) {
$this->set("navigation","navigation_admin");
} else {
$this->set("navigation","navigation_loggedin");
}
} else {
$this->set("loggedIn",false);
$this->set("navigation","navigation_notloggedin");
}
}
}
// Users Controller:
public function beforeFilter() {
$this->Auth->allow("login");
parent::beforeFilter();
}
public function isAuthorized($user = null) {
if($this->Auth->user("user_level_id") == 5) {
return true;
}
// Default deny
return parent::isAuthorized($user);
}
आप किस पुस्तक का अनुसरण कर रहे हैं? – Bahdeng