PROTEGER CKFINDER sous Symfony 2.7

Par Alain Ouakbar Tabba Sardinaluile, il y a 9 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Je souhaite protéger mon CKFINDER.
pour celà, j'ai implémenté mon config.php de CKFINDER comme ceci :

$config['authentication'] = function() { return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized']; };

j'ai egalement placé un sessions_start() au début de du fichier config.php.

Le problème est de trouver dans symfony l'endroit où placer le code qui permet de mettre $_SESSION['IsAuthorized'] à TRUE.

Dans la fonction loginAction() ? j'utilise FOSUSERBundle.

Je suis sur Symfony 2.7 et mon site est prêt à être mis en prod, mais je ne peux pas risquer d'omettre la sécurité de CKFINDER.

Avez-vous une idée : je cherche depuis des heures et je sais que sous CAKEPHP ca se fait tout seul (j'ai déjà fait 2 sites en ckephp).

Merci beaucoup pour votre aide !

5 réponses

Alain Ouakbar Tabba Sardinaluile, il y a 9 ans

J'ai implémenté la variable de session dans la fonction loginAction de FOSUSERBundle...

public function loginAction(Request $request) { /** @var $session \Symfony\Component\HttpFoundation\Session\Session */ $session = $request->getSession(); $session->set('IsAuthorized', true);

la variable IsAuthorized est bien à 1 !
Mais quand j'ouvre le ckfinder, je ne suis pas autorisé, ....
Apparemment la variable ne passe pas dans CKFINDER, malgré le session_start()
...
Je continue à chercher....

Alain Ouakbar Tabba Sardinaluile, il y a 9 ans

CA MARCHE !!!!!

il fallait mettre cela en tete de config.php :

session_start(); function CheckAuthentication() { if($_SESSION['IsAuthorized'] == 1) { return true; } else { return false; } } CheckAuthentication();
Alain Ouakbar Tabba Sardinaluile, il y a 9 ans

mes fesses..
ca ne marche pas du tout :
alors je suis passé par la solution suivante : COOKIES
création cookies dans symfony, test du cookie dans ckfinder.php (à la place de ckfinder.html)
et ca marche nickel Chrome (4.0)

raphaelsampan@gmail.com, il y a 9 ans

Pourquoi Utiliser Session_start() dans symfony ?
Charge le component Session simplement dans Symfony\Component\HttpFondation\Session. et utilise $session->set('key', 'valeur');

Alain Ouakbar Tabba Sardinaluile, il y a 9 ans

j'ai egalement placé un sessions_start() au début de du fichier config.php.

c'est dans ckfinder que je charge le session_start()