使用动态登录URL的Symfony2登录问题

时间:2014-06-11 11:21:16

标签: php symfony fosuserbundle

我有使用FosUserBundle登录的动态网址。

首先,我使用网址" 12.112.222:8080 / club111 / backend / signin"登录我的网站并使用网址" 12.112.222:8080 / club111 / backend / signout"退出。

之后我刚刚将登录网址标识符更改为" 12.112.222:8080 / twilight / backend / signin" club111和twilight是动态值。

第二次登录时,服务器返回错误"您必须使用安全防火墙配置中的form_login配置防火墙处理的检查路径。"

第一次运作良好......但第二次(更改参数时),它没有。

但是在第一次清除缓存后,它运行正常...... 有没有办法重置security.yml或缓存中的login_path ...?

下面给出了我的完整security.yml配置

      security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USERS
    ROLE_SUPER_ADMIN: [ROLE_USERS, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

providers:
    fos_userbundle:
        id: fos_user.user_provider.username

firewalls:
    frontend:
      pattern:    /%cluburlidentifier%/backend/.*
      provider:   fos_userbundle
      anonymous: ~          
      form_login:
          check_path: fairgate_user_security_check
          login_path: fos_user_security_login
          username_parameter: _username
          password_parameter: _password
          csrf_parameter: _csrf_token
          intention: authenticate               
          post_only: true
          remember_me: true
          #use_referer: true
          #always_use_default_target_path: true
          default_target_path: contact_index
          use_referer:                    false
          require_previous_session: false
      logout:
          path:   fairgate_user_security_logout
          target: fos_user_security_login
          invalidate_session: true
          delete_cookies:
              a: { path: null, domain: null }
              b: { path: null, domain: null }
      remember_me:
          key:      "123456"
          lifetime: 31536000 # 365 days in seconds
          path:     fos_user_security_login
          domain:   ~ # Defaults to the current domain from $_SERVER
          always_remember_me: true

access_control:
    fos_user_security_login:
        path: /%cluburlidentifier%/backend/signin
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_resetting:
        path: /%cluburlidentifier%/backend/request
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_security_check:
        path: /%cluburlidentifier%/backend/login_check
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_resetting_send_email:
        path: /%cluburlidentifier%/backend/send-email
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_resetting_check_email:
        path: /%cluburlidentifier%/backend/check-email
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_resetting_reset:
        path: /%cluburlidentifier%/backend/reset/.*
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    fos_user_resetting:
        path: /%cluburlidentifier%/backend/request
        roles: [IS_AUTHENTICATED_ANONYMOUSLY]

    admin_users:
        path: /%cluburlidentifier%/backend/.*
        roles: [ROLE_ADMIN, IS_AUTHENTICATED_REMEMBERED]


role_hierarchy:
    ROLE_ADMIN:       ROLE_USERS
    ROLE_SUPER_ADMIN: ROLE_ADMIN

access_denied_url: /%cluburlidentifier%/backend/unauthorized

config文件夹下的主要routing.yml看起来像......

common_utility:
   resource: "@CommonUtilityBundle/Resources/config/routing.yml"
   prefix:   /{url_identifier}/backend/

CommonUtilityBundle下的routing.yml就像......

fos_user_security_login:
   pattern:  /signin
   defaults: { _controller: CommonUtilityBundle:Security:login }

fairgate_user_security_check:
   pattern:  /login_check
   defaults: { _controller: CommonUtilityBundle:Security:check }

fairgate_user_security_logout:
   pattern:  /signout
   defaults: { _controller: CommonUtilityBundle:Security:logout }

有人请帮帮我....

0 个答案:

没有答案