2017-11-15 10 views
0

私はSymfony2をベースにしたカスタムメンバーシップのウェブサイトに取り掛かりました。このウェブサイトには2種類のバンドルがあります。 FOSuserbundleおよびSamlBundleFOSuserbundleログインフォームとSamlBundle SSOログイン

私はFossuserbundleとSamlBundleを統合しました。シングルサインオンシステムは現在動作していますが、FOSuserbundleログインフォームは機能しません。

これは私がシングルサインオンを使用していなかった場合でも、私のsecurity.yml

security: 

encoders: 
    FOS\UserBundle\Model\UserInterface: 
     id: app.my_password_encoder 

    PDias\SamlBundle\Security\User\SamlUser: plaintext 


role_hierarchy: 
    ROLE_ADMIN:  ROLE_USER 
    ROLE_SUPER_ADMIN: ROLE_ADMIN 

providers: 

    fos_userbundle: 
     id: fos_user.user_provider.username_email 

    backend_samlservice: 
     id: saml.backend.fosuser.provider 

firewalls: 

    main: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 

      csrf_token_generator: security.csrf.token_manager 
      require_previous_session: true 
      login_path: /login 
      check_path: /login_check 
      always_use_default_target_path: false 
      default_target_path:/
      use_forward: true 
      use_referer: false 

     saml: 
      provider: backend_samlservice 
      direct_entry: false 
      login_path: /login-saml 
      check_path: /login-check-saml 
      default_target_path:/
      always_use_default_target_path: true 
     logout: 
      path: /logout 
      target: /login 
     anonymous: true 

    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

     remember_me: 
      key:  '%secret%' 
      lifetime: 604800 # 1 week 
      path: /
      domain: ~ 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/sendemail, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/admin/, role: ROLE_ADMIN } 
    - { path: ^, role: ROLE_USER } 


acl: 
    connection: default 

で、backend_samlserviceが実行されます。 ID &パスワードを使用してウェブサイトにログインすると、ログインページにリダイレクトされます。

何かを追加する必要がありますか?

あなたのanwsersに感謝します。

答えて

0

この問題は修正されました。

ポイントはSimpleSAML_Sessionでした。私はこのようなセッションを整理しなければならなかった。

https://simplesamlphp.org/docs/stable/simplesamlphp-sp#section_6

$session = SimpleSAML_Session::getSessionFromRequest(); 
$session->cleanup(); 

IはSamlAuth.php(pdias/SAMLバンドル/ PDias/SamlBundle/SAML)にこのコードを追加しました。その後、それは働き始めた。

関連する問題