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
+
0
-

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…

  1. 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.
  2. 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
+
0
-

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
+
0
-

Díky @HosipLan!

Jen podotýkám, že ten debugger je potřeba vypnout, jinak to ckFinder nerozdejchá (hlásí chybu v XML).