我关注了documentation,这就是我的代码的组织方式:
的src /公司/ AuthBundle /安全性/ ApiKeyAuthenticator.php SRC /公司/ AuthBundle /安全性/ ApiKeyUserProvider.php
(它们与doc中的示例类相同)
# File: services.yml
apikey_authenticator:
class: Company\AuthBundle\Security\ApiKeyAuthenticator
public: false
# File: security.yml
firewalls:
api:
pattern: ^/api
stateless: false
simple_preauth:
authenticator: apikey_authenticator
provider: fos_userbundle
security: false
anonymous: true
现在,如果我尝试访问例如http://symfony-project.dev/api?apikey=somekey,我收到以下错误:
找不到" GET / api"
的路线
知道什么是错的吗?
答案 0 :(得分:2)
错误消息非常清楚 - 您尚未为GET
的{{1}}请求定义路由。
您配置的安全组件负责身份验证和授予访问权限,但它不控制特定于您的应用程序的任何逻辑。您必须为此类请求创建控制器和路由。
您可以使用'/api'
查看当前定义的路线 - 如果您尝试定义路线,则可以帮助您进行调试。如果没有,you must create one。