From 3ccc35b32caf324047c8c9da7f2217ecbefa2448 Mon Sep 17 00:00:00 2001 From: chinpei215 Date: Sun, 16 Oct 2016 11:31:43 +0900 Subject: [PATCH] Start working on backporting security debug to 2.x - Add SecurityException - Add AuthSecurityException Refs #8449 --- lib/Cake/Error/exceptions.php | 77 ++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/lib/Cake/Error/exceptions.php b/lib/Cake/Error/exceptions.php index 7996f658f7e..f506ebeb844 100644 --- a/lib/Cake/Error/exceptions.php +++ b/lib/Cake/Error/exceptions.php @@ -56,7 +56,7 @@ public function responseHeader($header = null, $value = null) { if (!class_exists('HttpException', false)) { /** * Parent class for all of the HTTP related exceptions in CakePHP. - * + * * All HTTP status/error related exceptions should extend this class so * catch blocks can be specifically typed. * @@ -627,3 +627,78 @@ public function __construct($message, $code = 501) { //@codingStandardsIgnoreEnd } + +/** + * Security exception - used when SecurityComponent detects any issue with the current request + * + * @package Cake.Error + */ +class SecurityException extends BadRequestException { + +/** + * Security Exception type + * @var string + */ + protected $_type = 'secure'; + +/** + * Reason for request blackhole + * + * @var string + */ + protected $_reason = null; + +/** + * Getter for type + * + * @return string + */ + public function getType() { + return $this->_type; + } + +/** + * Set Message + * + * @param string $message Exception message + * @return void + */ + public function setMessage($message) { + $this->message = $message; + } + +/** + * Set Reason + * + * @param string|null $reason Reason details + * @return void + */ + public function setReason($reason = null) { + $this->_reason = $reason; + } + +/** + * Get Reason + * + * @return string + */ + public function getReason() { + return $this->_reason; + } + +} + +/** + * Auth Security exception - used when SecurityComponent detects any issue with the current request + * + * @package Cake.Error + */ +class AuthSecurityException extends SecurityException { + +/** + * Security Exception type + * @var string + */ + protected $_type = 'auth'; + +}