Files
Phraseanet/lib/Alchemy/Phrasea/Security/Firewall.php
Nicolas Le Goff d1ec49c527 fix login
2012-07-18 18:26:18 +02:00

45 lines
991 B
PHP

<?php
namespace Alchemy\Phrasea\Security;
use Silex\Application;
class Firewall
{
public function requireSetUp(Application $app)
{
if ( ! \setup::is_installed()) {
return $app->redirect("/setup/");
}
}
public function requireAuthentication(Application $app)
{
if (false === $app['phraseanet.core']->isAuthenticated()) {
return $app->redirect('/login/');
}
if ($app['phraseanet.core']->getAuthenticatedUser()->is_guest()) {
return $app->redirect('/login/');
}
try {
$session = $app['phraseanet.appbox']->get_session();
$session->open_phrasea_session();
} catch (\Exception $e) {
return $app->redirect('/login/logout/');
}
}
public function requireNotAuthenticated(Application $app)
{
if ($app['phraseanet.core']->isAuthenticated()) {
return $app->redirect('/prod/');
}
}
}