【发布时间】:2015-05-02 00:19:39
【问题描述】:
我在一个需要两个防火墙或安全区域的项目中工作。第一个防火墙/安全区域将允许使用HWIOAuthBundle 使用 Salesforce 作为提供商登录/注销,第二个防火墙/安全区域将允许通过FOSUserBundle 登录/注销,因为这是用于内部系统管理员等。由于我不知道如何处理pattern 参数,我对尝试设置security.yml 文件有疑问。我已阅读Security reference,但不知道如何执行此操作。这是我目前拥有的:
firewalls:
#this is the public area accessed by/from iOs app and only users registered at Salesforce as rep can login
rep_area:
methods: [GET, POST]
pattern: ^/
anonymous: true
logout: true
#this is the secured area accessed through web browser and only internals are allowed to login
admin_area:
pattern: ^/
anonymous: ~
在这种情况下我应该如何配置pattern?
更新:防火墙不工作
这是防火墙部分在用户回答后的外观:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
#this is the secured area accessed through web browser and only internals are allowed to login
admin_area:
pattern: ^/admin
anonymous: ~
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: /login
check_path: /login_check
post_only: true
always_use_default_target_path: true
target_path_parameter: _target_path
use_referer: false
failure_path: null
failure_forward: false
logout:
path: fos_user_security_logout
target: /
#this is the public area accessed by/from iOs app and only users registered at Salesforce as rep can login
rep_area:
methods: [GET, POST]
pattern: ^/
anonymous: true
logout: true
但是如果我尝试http://appdev.local/app_dev.php/admin/ 我得到了这个错误:
BaseNode.php 第 313 行中的 InvalidConfigurationException:无效 路径“security.firewalls.admin_area”的配置:check_path 登录方法“form_login”的“/login_check”与 防火墙模式“^/admin”。
为什么?
编辑 2:如果 FOSUserBundle && HWIOAuth 一起工作呢?
作为附加信息,我从一开始就忘了告诉这一点,我已经并且需要安装 FOSUserBundle && HWIOAuth,我正在努力让两者都能正常工作。在这种情况下,这就是我的routing.yml 的样子:
#HWIOAuthBundle
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /connect
hwi_oauth_login:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /login
salesforce_login:
pattern: /login/check-salesforce
#PDOne
pd_one:
resource: "@PDOneBundle/Controller/"
type: annotation
prefix: /
template:
resource: "@TemplateBundle/Controller/"
type: annotation
prefix: /
#FOSUserBundle
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
fos_user_security:
prefix: /admin
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
#SonataAdmin
admin:
resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
prefix: /admin
_sonata_admin:
resource: .
type: sonata_admin
prefix: /admin
我应该如何处理 FOSUserBundle && HWIOAuth 之间的前缀?
【问题讨论】:
标签: php symfony fosuserbundle hwioauthbundle symfony-2.6