2011-08-21 29 views
9

Tất cả! Tôi muốn bảo mật ứng dụng của mình với hệ thống bảo mật cùng nhau. Dưới tập tin security.ymlSymfony2: Cách: ứng dụng an toàn với _locale

security: 
    encoders: 
    Symfony\Component\Security\Core\User\User: plaintext 

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

    providers: 
    in_memory: 
     users: 
     user: { password: userpass, roles: [ 'ROLE_USER' ] } 
     admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } 

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

    login: 
     pattern: ^/{_locale}/demo/secured/login$ 
     security: false 

    secured_area: 
     pattern: ^/{_locale}/demo/secured/ 
     form_login: 
     check_path: /{_locale}/demo/secured/login_check 
      login_path: /{_locale}/demo/secured/login 
     logout: 
      path: /{_locale}/demo/secured/logout 
      target: /{_locale}/demo/ 

Vấn đề:

logout-> mục tiêu làm việc trở lại desn't. Có ai giúp tôi không?

PS: Bất kỳ ví dụ nào sẽ được đánh giá cao!

Thx

Trả lời

15

Chỉ cần chắc chắn bạn xác định các tuyến đường cho họ tất cả những gì làm sử dụng biến miền địa phương và an ninh dường như nhặt nó lên tự động. Không cần phải có miền địa phương chiếm trong cấu hình bảo mật.

Đây là ví dụ từ dự án của tôi.

Trích từ security.yml:

login: 
     pattern: /(game|admin)/login$ 
     security: false 

    admin: 
     pattern: /admin/ 
     form_login: 
      check_path: /admin/login_check 
      login_path: _admin_login 
     logout: 
      path: _admin_logout 
      target: _home 

    game: 
     pattern: /game/ 
     form_login: 
      check_path: /game/login_check 
      login_path: _game_login 
     logout: 
      path: _game_logout 
      target: _home 

Trích từ routing.yml:

BrowserMMOSecurityBundle: 
    resource: "@BrowserMMOSecurityBundle/Controller/" 
    type:  annotation 
    prefix: /{_locale}/ 
    defaults: { _locale: en } 
    requirements: 
     _locale: en|fr 

_game_login_check: 
    pattern: /game/login_check 

_admin_login_check: 
    pattern: /admin/login_check 

_admin_logout: 
    pattern: /{_locale}/admin/logout 
    requirements: 
     _locale: en|fr 

_game_logout: 
    pattern: /{_locale}/game/logout 
    requirements: 
     _locale: en|fr 

Các cấu hình trên làm việc cho tôi. Cũng cần lưu ý rằng các tuyến đường _admin_login_game_login được xác định trong chú thích trên lớp SecurityController của tôi.

+0

Ok! Cảm ơn bạn rất nhiều!! nó thực sự hoạt động !!! Tôi có lỗi của tôi ... –

Các vấn đề liên quan