Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 禁用特定Symfony路由_Php_Symfony - Fatal编程技术网

Php 禁用特定Symfony路由

Php 禁用特定Symfony路由,php,symfony,Php,Symfony,长话短说:我正在为我的公司建立一个连接,我需要禁用用户注册[用户由Chef创建],同时仍然允许Github OAuth连接 我在routing.yml中向路由添加了以下不可满足的条件,从而禁用了常规注册页面: fos_user_register: resource: '@FOSUserBundle/Resources/config/routing/registration.xml' prefix: /register condition: "1 == 0" 但是,我发现

长话短说:我正在为我的公司建立一个连接,我需要禁用用户注册[用户由Chef创建],同时仍然允许Github OAuth连接

我在
routing.yml
中向路由添加了以下不可满足的条件,从而禁用了常规注册页面:

fos_user_register:
    resource: '@FOSUserBundle/Resources/config/routing/registration.xml'
    prefix: /register
    condition: "1 == 0"
但是,我发现,如果您尝试在未首先连接现有帐户的情况下登录Github,则在
/connect/registration
下会有第二个注册表单,该表单受以下路径控制:

hwi_oauth_connect:
    resource: '@HWIOAuthBundle/Resources/config/routing/connect.xml'
    prefix:   /connect
routing.yml
中,以及:

<route id="hwi_oauth_connect_registration" path="/registration/{key}">
    <default key="_controller">HWIOAuthBundle:Connect:registration</default>
</route>

HWIOAuthBundle:连接:注册
它位于
vendor/hwi/oauth bundle/Resources/config/routing/connect.xml


如何仅禁用
/connect/registration
而不修改供应商文件夹中的
connect.xml

复制文件
'@hwiauthbundle/Resources/config/routing/connect.xml'
的内容,并将其粘贴到新的
app/config/routing\u hwi\u connect.xml

通过在新创建的文件中设置自定义检查来禁用路由:

<route id="hwi_oauth_connect_registration" path="/registration/{key}">
    <default key="_controller">HWIOAuthBundle:Connect:registration</default>
    <condition>1 == 0</condition>
</route>
当有人试图访问它时,它应该返回一个
404


此外,肯定有更好的方法来允许/限制路由,可能是通过创建一个预注册方法,然后查看可以轻松做点好事的地方。

如果我删除路由,应用程序会生气并发出500秒,但将
1==0
添加到路由中会得到更友好的404。除此之外,我正在考虑加入一个静态文件,其中包含“不要那样做,改为这样做”的信息,该信息基于而不是
1==0
条件。当然,路由肯定被许多控制器和模板用于路由生成,我将快速编辑以添加您的条件(这有点奇怪,但很有用!)。模板可以是一个很好的替代品,而不是404。
hwi_oauth_connect:
    resource: "routing_hwi_connect.xml"
    prefix:   /connect