2016-11-20 65 views
0

有人能告诉我为什么symfony没有阅读正确的PHPSESSID,而是阅读它的一些例子(下面的例子),我使用LEXIK进行身份验证,使用FOSRestBundle进行API。以下是安全配置(我认为这是它)。这是造成问题,但我不知道,Symfony没有阅读phpsessid right

enter image description here

我送phpsessid

enter image description here

安全配置

security: 
    providers: 
     in_memory: 
      memory: ~ 
     user_provider: 
      id: app.user_provider 

    firewalls: 

     login: 
      pattern: ^/api/login 
      stateless: false 
      anonymous: true 

     api: 
      pattern: ^/api 
      provider: user_provider 
      stateless: true 
      guard: 
       authenticators: 
        - lexik_jwt_authentication.jwt_token_authenticator 

    access_control: 
     - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/api,  roles: IS_AUTHENTICATED_FULLY } 

更新1

失去了会话后,我userprovider无法验证用户,所以它提供了此错误

enter image description here 谢谢

回答

1

如果它是你正在谈论JWT认证,这是一个基于令牌身份验证,因此不使用PHPSESSID

它传递一个令牌,每个请求在服务器上进行验证以进行验证。

REST像HTTP一样无状态,因此服务器上的REST客户端没有会话。

+0

我使用会话通过用户提供的身份验证用户,我创建了 – user26776

+0

REST是无状态的,所以在发出REST请求时没有会话。你需要做的是阅读JWT并认证你的用户。 LexikJWTBundle对此有很好的支持。 –