mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-21 21:04:25 +02:00
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Drop cookie class because implemented in auth refs #4256
This commit is contained in:
parent
ee6d95b496
commit
f19934ef39
@ -1,156 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Session handling
|
|
||||||
*/
|
|
||||||
namespace Icinga\Web;
|
|
||||||
|
|
||||||
use Icinga\Authentication\Auth\User;
|
|
||||||
use Zend_Session;
|
|
||||||
use Zend_Session_Namespace;
|
|
||||||
use Icinga\Exception\ProgrammingError;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Session handling happens here
|
|
||||||
*
|
|
||||||
* This is mainly a facade for Zend_Session_Namespace but provides some farther
|
|
||||||
* functionality for authentication
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
|
||||||
*/
|
|
||||||
class Session
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Session is a Singleton stored in $instance
|
|
||||||
*
|
|
||||||
* @var Session
|
|
||||||
*/
|
|
||||||
protected static $instance;
|
|
||||||
|
|
||||||
protected $defaultOptions = array(
|
|
||||||
'use_trans_sid' => false,
|
|
||||||
'use_cookies' => true,
|
|
||||||
'use_only_cooies' => true,
|
|
||||||
'cookie_httponly' => true,
|
|
||||||
'use_only_cookies' => true,
|
|
||||||
'hash_function' => true,
|
|
||||||
'hash_bits_per_character' => 5,
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The ZF session namespace
|
|
||||||
*
|
|
||||||
* @var \Zend_Session_Namespace
|
|
||||||
*/
|
|
||||||
protected $session;
|
|
||||||
|
|
||||||
protected $started = false;
|
|
||||||
protected $closed = true;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor is protected to enforce singleton usage
|
|
||||||
*/
|
|
||||||
protected function __construct()
|
|
||||||
{
|
|
||||||
Zend_Session::start();
|
|
||||||
$this->session = new Zend_Session_Namespace('Icinga');
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
// Not yet
|
|
||||||
public function start()
|
|
||||||
{
|
|
||||||
if ($this->started) {
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
if ($this->closed) {
|
|
||||||
ini_set('session.cache_limiter', null);
|
|
||||||
ini_set('session.use_only_cookies', false);
|
|
||||||
ini_set('session.use_cookies', false);
|
|
||||||
ini_set('session.use_trans_sid', false);
|
|
||||||
}
|
|
||||||
$this->applyOptions();
|
|
||||||
session_start();
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function applyOptions()
|
|
||||||
{
|
|
||||||
foreach ($this->defaultOptions as $key => $val) {
|
|
||||||
ini_set('session.' . $key => $val);
|
|
||||||
}
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
public static function setOptions($options)
|
|
||||||
{
|
|
||||||
return Zend_Session::setOptions($options);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Once authenticated we store the given user(name) to our session
|
|
||||||
*
|
|
||||||
* @param Auth\User $user The user object
|
|
||||||
* // TODO: Useless
|
|
||||||
* @return self
|
|
||||||
*/
|
|
||||||
public function setAuthenticatedUser(User $user)
|
|
||||||
{
|
|
||||||
$this->session->userInfo = (string) $user;
|
|
||||||
$this->session->realname = (string) $user; // TODO: getRealName()
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the user object for the authenticated user
|
|
||||||
*
|
|
||||||
* // TODO: This has not been done yet. Useless?
|
|
||||||
*
|
|
||||||
* @return User $user The user object
|
|
||||||
*/
|
|
||||||
public function getUser()
|
|
||||||
{
|
|
||||||
throw new ProgrammingError('Not implemented yet');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether this session has an authenticated user
|
|
||||||
*
|
|
||||||
* // TODO: remove
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function isAuthenticated()
|
|
||||||
{
|
|
||||||
return isset($this->session->username);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Forget everything we know about the authenticated user
|
|
||||||
*
|
|
||||||
* // TODO: Remove
|
|
||||||
* @return self
|
|
||||||
*/
|
|
||||||
public function discardAuthentication()
|
|
||||||
{
|
|
||||||
unset($this->session->username);
|
|
||||||
unset($this->session->realname);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a Singleton instance
|
|
||||||
*
|
|
||||||
* TODO: This doesn't work so yet, it gives you a Zend_Session_Namespace
|
|
||||||
* instance. Facade has to be completed before we can fix this.
|
|
||||||
*
|
|
||||||
* @return Icinga\Web\Session -> not yet
|
|
||||||
*/
|
|
||||||
public static function getInstance()
|
|
||||||
{
|
|
||||||
if (self::$instance === null) {
|
|
||||||
self::$instance = new Session();
|
|
||||||
}
|
|
||||||
return self::$instance->session;
|
|
||||||
}
|
|
||||||
}
|
|
@ -11,6 +11,7 @@ namespace Icinga\Web\Widget;
|
|||||||
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
* @author Icinga-Web Team <info@icinga.org>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
||||||
|
* @deprecated Because of HTML creation of PHP<
|
||||||
*/
|
*/
|
||||||
class Form extends AbstractWidget
|
class Form extends AbstractWidget
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,7 @@ use Icinga\Exception\ProgrammingError;
|
|||||||
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
* @author Icinga-Web Team <info@icinga.org>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
||||||
|
* @deprecated Because of HTML creation of PHP<
|
||||||
*/
|
*/
|
||||||
class Tab extends AbstractWidget
|
class Tab extends AbstractWidget
|
||||||
{
|
{
|
||||||
|
@ -15,6 +15,7 @@ use Icinga\Exception\ProgrammingError;
|
|||||||
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
* @author Icinga-Web Team <info@icinga.org>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
||||||
|
* @deprecated Because of HTML creation of PHP<
|
||||||
*/
|
*/
|
||||||
class Tabs extends AbstractWidget
|
class Tabs extends AbstractWidget
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user