diff --git a/lib/Cake/Controller/Component/SessionComponent.php b/lib/Cake/Controller/Component/SessionComponent.php index 21e6603e7bf..ed42bff244c 100644 --- a/lib/Cake/Controller/Component/SessionComponent.php +++ b/lib/Cake/Controller/Component/SessionComponent.php @@ -162,15 +162,19 @@ public function destroy() { } /** - * Returns Session id + * Get/Set the session id. * - * If $id is passed in a beforeFilter, the Session will be started - * with the specified id + * When fetching the session id, the session will be started + * if it has not already been started. When setting the session id, + * the session will not be started. * - * @param string $id - * @return string + * @param string $id Id to use (optional) + * @return string The current session id. */ public function id($id = null) { + if (empty($id)) { + CakeSession::start(); + } return CakeSession::id($id); }