2017-08-04 11 views
1

symfony 3にFOSUserバンドルとEasyadminをインストールしました。symfony 3のeasyadminとclientページ用に別のログインページを作成する方法

FYI、easyadminの私のルートは/adminです。

ユーザがログインしていない場合、/adminルートにアクセスすると、設定されたFOSUserバンドルである/loginにリダイレクトされます。

私が望むのは、管理者ログインとクライアントログインのための別のページを持つことです。

ユーザー(ログに記録されていないユーザー)が/adminにアクセスする場合は、/admin/loginの管理者ログインにリダイレクトする必要があるとします。ユーザーがクライアントの/dashboardにアクセスする場合は、/loginにリダイレクトする必要があります。

以下

は私のsecurity.yml設定です:

以下
#From security.yml file 

    firewalls: 
    main: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 
      csrf_token_generator: security.csrf.token_manager 
      # if you are using Symfony < 2.8, use the following config instead: 
      # csrf_provider: form.csrf_provider     
      login_path: /login 
      check_path: /login_check 
      always_use_default_target_path: false 
      default_target_path: /dashboard 

は私のrouting.yml設定です:

#routing.yml 
easy_admin_bundle: 
    resource: "@EasyAdminBundle/Controller/" 
    type:  annotation 
    prefix: /admin 

誰もが知っていますか?

+0

あなたのusersテーブルにいくつかの権限を追加した場合、あなたはそれが私がfosUserバンドルを使用していたユーザや管理者 – Jorn

+0

であればPHPの数字を出してみましょう、1つのログインページでそれを行うことができます。 '/ admin'にアクセスしようとすると自動的に'/login'にリダイレクトされます。これについてのチュートリアルがありますか?ありがとう – zms

+0

私はfosUserバンドルを知らない。しかし、私が言っていることは、ユーザ権限を確認する場合にのみ '/ login'が必要なことです。そうでなければ、おそらく方法がありますが、私はあなたを助けることができません、申し訳ありません。 – Jorn

答えて

0

設定を変更した後、私は自分の問題を解決しました。

ルーティングでfos_userの下にprefix:/adminを追加しました。つまり、ログインは/adminにリダイレクトされますが、ユーザーはまだログインしていないので、/admin/login uriにプッシュバックします。

# app/config/routing.yml 
fos_user: 
    prefix: /admin 
    resource: "@FOSUserBundle/Resources/config/routing/all.xml" 

#Easy admin bundle 
easy_admin_bundle: 
    resource: "@EasyAdminBundle/Controller/" 
    type:  annotation 
    prefix: /admin 

また、ここに私のsecurity.ymlの設定があります。プロバイダがfos_userbundleであることを確認してください。

role_hierarchy: 
    ROLE_ADMIN:  ROLE_USER 
    ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ] 
providers: 
    fos_userbundle: 
     id: fos_user.user_provider.username_email 

firewalls:    
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    admin_area: 
     pattern: ^/admin 
     anonymous: ~ 
     provider: fos_userbundle 
     form_login: 
      default_target_path: /admin 
      check_path: /admin/login_check 
      login_path: /admin/login 
      remember_me: true 
     logout: 
      path: /admin/logout 
      target: /admin 
    main: 
     anonymous: ~ 
関連する問題