2017-08-29 6 views
0

でログインページに「アクセスが拒否された」これはサイレックス

$app['security.firewalls']=[ 
    'secured'=>[ 
     'pattern' => '/', 
     'anonymous' => true, 
     'http'=>true, 
     'form' => array('login_path' => '/login', 'check_path' => '/secured/login_check'), 
     'logout' => array('logout_path' => '/secured/logout', 'invalidate_session' => true), 
     'users'=>$users 
    ] 
]; 
$app['security.access_rules']=[ 
    ["^/admin", "ROLE_ADMIN"] 
]; 

私のファイアウォールのコードですか?

私は、管理コントローラコードでアクセスなしルールでテストを持っている:

if($app['security.authorization_checker']->isGranted('ROLE_ADMIN')){ 
     // ... 
     // ... 
     // ... 
    } 
else return $app->redirect($app->url('login')); 

しかし、私はこの方法を使用する場合の問題は、それが代わりに前のページのホームページにリダイレクトするということです。ログインを成功させた後、ホームページではなく前のページにリダイレクトするログインページを作成するにはどうすればよいですか?

答えて

0

は、セキュリティ設定にalways_use_default_target_pathuse_refererパラメータを追加してください:

$app['security.firewalls']=[ 
    'secured'=>[ 
     ... 
     'form' => array(
      'login_path' => '/login', 
      'check_path' => '/secured/login_check', 
      'always_use_default_target_path' => false, 
      'use_referer' => true 
     ), 
     ... 
    ] 
]; 

は、なぜあなたは、ログイン用の2つのエントリ・ポイントを使用していますか? httpおよびform

関連する問題