小编syn*_*tic的帖子

服务"security.authentication.manager"依赖于不存在的服务"security.user.provider.concrete.fos_userbundle"

我尝试启用FOSUserBundle以及FOSFacebookBundle.
任何网址都有例外.

有什么想法吗?

ServiceNotFoundException:服务"security.authentication.manager"依赖于不存在的服务"security.user.provider.concrete.fos_userbundle"

config.yml

fos_user:
    db_driver: mongodb
    firewall_name: main
    user_class: Acme\AcmeBundle\Document\User
fos_twitter:
    file: %kernel.root_dir%/../vendor/twitteroauth/twitteroauth/twitteroauth.php
    consumer_key:    ''
    consumer_secret: ''
    callback_url: ''
fos_facebook:
    file:   %kernel.root_dir%/../vendor/facebook/src/base_facebook.php
    alias:  facebook
    app_id: ''
    secret: ''
    cookie: true
    permissions: [email, user_birthday, user_location]
services:
    my.facebook.user:
        class: Acme\AcmeBundle\Security\FacebookProvider
        arguments:
            facebook: "@fos_facebook.api"
            userManager: "@fos_user.user_manager"
            validator: "@validator"
            container: "@service_container"





security:       
    factories:
      - "%kernel.root_dir%/../vendor/bundles/FOS/TwitterBundle/Resources/config/security_factories.xml"
      - "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"

    providers:
        my_fos_facebook_provider:
            id: my.facebook.user                     

    firewalls:       
        public:
          pattern:   ^/.*
          form_login:
            login_path: /login
            provider: fos_userbundle          
          fos_facebook:
            app_url: ""
            server_url: ""
            login_path: /login
            check_path: /login_check/facebook
            provider: my_fos_facebook_provider
          anonymous: …
Run Code Online (Sandbox Code Playgroud)

symfony

21
推荐指数
1
解决办法
2万
查看次数

如何使用Symfony2中的FOSFacebookBundle通过Facebook制作单独的网址

我需要有一个单独的URL用于普通登录表单(用户名/密码),它已经存在于/ login上,还有一些URL如/ login-via-facebook通过FOSFacebookBundle oauth程序登录.

现在我无法理解如何通过url触发oauth-facebook程序,它只有在我尝试访问"access_control"中列出的url时才有效.

提前致谢!


@Matt,非常感谢您的解释!我试着按照你的回答,但仍然有问题,我没有提到我已经使用了FOSUserBundle,

我的security.yml:

providers:
    chain_provider:
      providers: [fos_userbundle, fos_facebook]
    fos_userbundle:
        id: fos_user.user_manager
    fos_facebook:
        id: fos_facebook.auth 

firewalls:      
    public:
      pattern:   ^/
      fos_facebook:
        app_url: ""
        server_url: ""
        login_path: /login
        check_path: /login_check/facebook
        provider: fos_userbundle
      fos_userbundle:
        login_path: /login
        check_path: /login_check/form
        provider: fos_userbundle
      anonymous: true
      logout:    true`
Run Code Online (Sandbox Code Playgroud)

所以,在这一点上它抛出一个异常:InvalidConfigurationException: Unrecognized options "fos_userbundle" under "security.firewalls.public",如果我在公共防火墙中将fos_userbundle更改为form_login(但我应该这样做吗?),它会引发异常You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.

php symfony

5
推荐指数
2
解决办法
3559
查看次数

在 Play 2.5 中使用 akka-http,如何自定义“非法请求目标”

我正进入(状态

< HTTP/1.1 400 Bad Request
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 96

Illegal request-target: Invalid input '\', expected pchar, '/', '?' or 'EOI' (line 1, column 17)
Run Code Online (Sandbox Code Playgroud)

对于包含 的 URL \,这没关系,我希望有 400 个,但我想更改消息,因此它对用户更友好。

似乎它发生在它进入任何控制器之前。

ps 我知道有akka.http.parsing.uri-parsing-mode = relaxed,但我不想这样做(我想要的是不同的信息:)。

更新:导致示例 URLIllegal request-target是:

http://host.host/hello\world
http://host.host/hello{all
http://host.host/hello"all
Run Code Online (Sandbox Code Playgroud)

等等

scala playframework akka-http

5
推荐指数
0
解决办法
1222
查看次数

JSON API中最好的格式/类型是什么

基本上我在考虑浮点数或字符串.

字符串:

"10.00"
"10.05"
"10.50"
"1,000"
Run Code Online (Sandbox Code Playgroud)

浮点数

10
10.05
10.5
1000
Run Code Online (Sandbox Code Playgroud)

我喜欢字符串的格式化,浮点数限制精度可能存在问题.

你会选择什么?为什么?

javascript formatting json types currency

2
推荐指数
1
解决办法
1319
查看次数