示例#1
0
 public function testDoNotAddFirewall1()
 {
     $file = __DIR__ . '/../../../config/error.yml';
     $this->assertFalse(Security::addFirewall(new Application(), $file));
 }
示例#2
0
文件: api.php 项目: dimug/api
use Monolog\Logger;
use Silex\Application;
use Silex\Provider\MonologServiceProvider;
use Silex\Provider\TranslationServiceProvider;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Translation\Loader\YamlFileLoader;
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;
require_once __DIR__ . '/../vendor/autoload.php';
$app = new Application();
// configuration files
$app['parameters.file.security'] = __DIR__ . '/../config/security.yml';
$app['parameters.file.configuration'] = __DIR__ . '/../config/configuration.yml';
// enable security configuration
$app['security.active'] = Security::addFirewall($app, $app['parameters.file.security']);
/**
 * Check if firewall correct started, otherwise return 500 error. Disabled during tests.
 */
$app->before(function (Request $request) use($app) {
    if ($app['security.active'] == false) {
        header('HTTP/1.0 500 Security error!');
        exit;
    }
}, Application::EARLY_EVENT);
// logger configuration
$app->register(new MonologServiceProvider(), array('monolog.logfile' => __DIR__ . '/../log/dimug.log', 'monolog.name' => 'diMuG', 'monolog.level' => Logger::WARNING));
// log 404 and 500 HTTP response codes
$app->finish(function (Request $request, Response $response) use($app) {
    if ($response->getStatusCode() == 404) {
        $app['monolog']->addWarning('Access error!', array('request' => $request->getRequestUri(), 'status code: ' => $response->getStatusCode(), 'message:' => $response->getContent()));