代码之家  ›  专栏  ›  技术社区  ›  root66

Silex2:安全防火墙和区域设置

  •  0
  • root66  · 技术社区  · 8 年前

    如何将当前区域设置添加到/user/login或/user/logout等路径?控制器确实支持{u locale}占位符,但在安全模式中,它被报告为错误。

    $app['security.firewalls'] = array(
        'login' => array(
            'pattern' => '^/user/login$',
        ),
        'secured_area' => array(
            'pattern' => '^.*$',
            'anonymous' => false,
            'remember_me' => array(),
            'form' => array(
               'login_path' => '/user/login',
               'check_path' => '/user/login_check',
            ),
           'logout' => array(
               'logout_path' => '/user/logout',
               'invalidate_session' => true,
           ),
        ),
     );
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   root66    8 年前

    $app->get('/{_locale}/user/login', function(Request $request) use ($app) {
        return $app['twig']->render('login.html.twig', array(
            'error'         => $app['security.last_error']($request),
        ));
    })->bind('login');
    
    
    $app['security.firewalls'] = array(
        'login' => array(
            'pattern' => '^/(de|en|fr|es)/user/login$',
        ),
        'main' => array(
            'pattern' => '^.*$',
            'anonymous' => false,
            'remember_me' => array(),
            'form' => array(
            'login_path' => 'login',
            'check_path' => '/user/login_check',
            'post_only' => true,
            'with_csrf' => true,
            'default_target_path' => 'homepage'
        ),
        'logout' => array(
            'logout_path' => '/user/logout',
            'invalidate_session' => true,
        )
    );