public static function Login($mId, $sUsername, $sName, $iTimeout = 3600, $bRoot = false){
            $oThis = self::CreateInstanceIfNotExists();

            if($oThis->bStarted){
                $iTimeout = time()+$iTimeout;
                $oThis->aAuth = array("id" => $mId, "name" => $sName, "username" => $sUsername, "timeout" => $iTimeout, "root" => $bRoot);											
                $_SESSION[$oThis->sName]["authentication"] = $oThis->aAuth;

                if(!empty($oThis->aAuth)){
                    Storage::Set("user.id", $oThis->aAuth["id"]);
                    Storage::Set("user.name", $oThis->aAuth["name"]);
                    Storage::Set("user.username", $oThis->aAuth["username"]);
                    Storage::Set("user.root", $oThis->aAuth["root"]);
                    Storage::Set("session.timeout.login",  $iTimeout); 
                }
            }
        }