protected function _auth_override_check()
{
// Assign the class/method auth type override array from the config
$auth_override_class_method = $this->config->item('auth_override_class_method');
// Check to see if the override array is even populated
if (!empty($auth_override_class_method)) {
// Check for wildcard flag for rules for classes
if (!empty($auth_override_class_method[$this->router->class]['*'])) {
// No auth override found, prepare nothing but send back a TRUE override flag
if ($auth_override_class_method[$this->router->class]['*'] === 'none') {
return TRUE;
}
// Basic auth override found, prepare basic
if ($auth_override_class_method[$this->router->class]['*'] === 'basic') {
$this->_prepare_basic_auth();
return TRUE;
}
// Digest auth override found, prepare digest
if ($auth_override_class_method[$this->router->class]['*'] === 'digest') {
$this->_prepare_digest_auth();
return TRUE;
}
// Session auth override found, check session
if ($auth_override_class_method[$this->router->class]['*'] === 'session') {
$this->_check_php_session();
return TRUE;
}
// Whitelist auth override found, check client's ip against config whitelist
if ($auth_override_class_method[$this->router->class]['*'] === 'whitelist') {
$this->_check_whitelist_auth();
return TRUE;
}
}
// Check to see if there's an override value set for the current class/method being called
if (!empty($auth_override_class_method[$this->router->class][$this->router->method])) {
// None auth override found, prepare nothing but send back a TRUE override flag
if ($auth_override_class_method[$this->router->class][$this->router->method] === 'none') {
return TRUE;
}
// Basic auth override found, prepare basic
if ($auth_override_class_method[$this->router->class][$this->router->method] === 'basic') {
$this->_prepare_basic_auth();
return TRUE;
}
// Digest auth override found, prepare digest
if ($auth_override_class_method[$this->router->class][$this->router->method] === 'digest') {
$this->_prepare_digest_auth();
return TRUE;
}
// Session auth override found, check session
if ($auth_override_class_method[$this->router->class][$this->router->method] === 'session') {
$this->_check_php_session();
return TRUE;
}
// Whitelist auth override found, check client's ip against config whitelist
if ($auth_override_class_method[$this->router->class][$this->router->method] === 'whitelist') {
$this->_check_whitelist_auth();
return TRUE;
}
}
}
// Assign the class/method/HTTP-method auth type override array from the config
$auth_override_class_method_http = $this->config->item('auth_override_class_method_http');
// Check to see if the override array is even populated
if (!empty($auth_override_class_method_http)) {
// check for wildcard flag for rules for classes
if (!empty($auth_override_class_method_http[$this->router->class]['*'][$this->request->method])) {
// None auth override found, prepare nothing but send back a TRUE override flag
if ($auth_override_class_method_http[$this->router->class]['*'][$this->request->method] === 'none') {
return TRUE;
}
// Basic auth override found, prepare basic
if ($auth_override_class_method_http[$this->router->class]['*'][$this->request->method] === 'basic') {
$this->_prepare_basic_auth();
return TRUE;
}
// Digest auth override found, prepare digest
if ($auth_override_class_method_http[$this->router->class]['*'][$this->request->method] === 'digest') {
$this->_prepare_digest_auth();
return TRUE;
}
// Session auth override found, check session
if ($auth_override_class_method_http[$this->router->class]['*'][$this->request->method] === 'session') {
$this->_check_php_session();
return TRUE;
}
// Whitelist auth override found, check client's ip against config whitelist
if ($auth_override_class_method_http[$this->router->class]['*'][$this->request->method] === 'whitelist') {
$this->_check_whitelist_auth();
return TRUE;
}
}
// Check to see if there's an override value set for the current class/method/HTTP-method being called
if (!empty($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method])) {
// None auth override found, prepare nothing but send back a TRUE override flag
if ($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method] === 'none') {
return TRUE;
}
// Basic auth override found, prepare basic
if ($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method] === 'basic') {
$this->_prepare_basic_auth();
return TRUE;
}
// Digest auth override found, prepare digest
if ($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method] === 'digest') {
$this->_prepare_digest_auth();
return TRUE;
}
// Session auth override found, check session
if ($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method] === 'session') {
$this->_check_php_session();
return TRUE;
}
// Whitelist auth override found, check client's ip against config whitelist
if ($auth_override_class_method_http[$this->router->class][$this->router->method][$this->request->method] === 'whitelist') {
$this->_check_whitelist_auth();
return TRUE;
}
}
}
return FALSE;
}