Ověření přihlášení mimo Nette
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Aearsis
- Člen | 57
Zdravím,
řeším problém, jak ověřovat přístupová práva v CKFinderu. Pokud to tu již někde je, omlouvám se, hledal jsem, nenašel. CKFinder includuje skript config.php, který definuje metodu CheckAuthentication (@return bool). Chtěl bych to navázat na přihlášení do Nette, ale…
- pokus – prohledat session, z magických podklíčů vytáhnout objekt User, nebo jen jeho roli. Toto zkrachuje na tom, že už jen session_start() mimo nette způsobí spoustu nečekaných chyb v aplikaci – Nette asi nemá rádo když mu někdo hrabe zvenku do session.
- pokus – nahrát Nette, konfigurátor, přečíst config.neon – a vytáhnout z něj service user. Jenže ouha, User je prázdný, ani session nemá žádná data, přestože ID je stejné.
Tak se ptám – zkoušel to už někdo? Jak toto v/vně Nette vyřešit?
Předem díky, Aearsis
- Filip Procházka
- Moderator | 4668
Co takhle nějak?
<?php
use Nette\Diagnostics\Debugger;
function nette()
{
static $container;
if ($container) return $container;
// tohle poladit
$params['wwwDir'] = __DIR__;
$params['appDir'] = realpath(__DIR__ . '/../app');
// Load Nette Framework
$params['libsDir'] = __DIR__ . '/../libs';
require $params['libsDir'] . '/Nette/loader.php';
// Enable Nette Debugger for error visualisation & logging
Debugger::$logDirectory = __DIR__ . '/../log';
Debugger::$strictMode = TRUE;
Debugger::enable();
// Load configuration from config.neon file
$configurator = new Nette\Configurator;
$configurator->container->params += $params;
$configurator->container->params['tempDir'] = __DIR__ . '/../temp';
return $container = $configurator->loadConfig(__DIR__ . '/config.neon');
}
/**
* This function must check the user session to be sure that he/she is
* authorized to upload and access files in the File Browser.
*
* @return boolean
*/
function CheckAuthentication()
{
return nette()->user->isLoggedIn();
}
- petr.pavel
- Člen | 535
Díky @HosipLan!
Jen podotýkám, že ten debugger je potřeba vypnout, jinak to ckFinder nerozdejchá (hlásí chybu v XML).