我使用Symfony4。我想通过Test1
现在,我的routes.yaml
中有以下几行:
security.yaml
在我的access_control:
- { path: ^/login, allow_if: 'is_anonymous()'}
- { path: ^/, roles: ROLE_USER}
中,我有这个:
routes.yaml
我要引用的路由名称为“登录”
答案 0 :(得分:2)
如何使用环境变量?
.env.dev
文件(也用于测试和制作)
LOGIN_PATH="/login"
security.yaml
文件
access_control:
- { path: '^%env(LOGIN_PATH)%', allow_if: 'is_anonymous()'}
- { path: ^/, roles: ROLE_USER}
routes.yaml
文件:
login:
path: '%env(LOGIN_PATH)%'
controller: App\Controller\SecurityController::login
不知道它是否可以工作,但是应该可以工作。
否则,似乎您无法在security.yaml
文件中引用路由配置。要自己测试,请输入:
var_dump($this->parameters);
在vendor\symfony\dependency-injection\ParameterBag\ParameterBag.php line 71
方法开头的get($name)
内,您可以在运行时看到已定义的参数:
php bin/console config:dump-reference security
命令。而且似乎在parameterbag中没有定义与已定义路由相关的参数。