当getToken和setToken签名发生更改时,如何将AbstractAuthListener从symfony 2.5转换为symfony 2.6

时间:2017-05-08 21:41:57

标签: symfony symfony-2.6

Symfony 2.6弃用了security.context并将其拆分为token_storage和authorization_checker服务。

升级文档中提供的示例可以很好地解释如何升级使用security.context服务的控制器,但很少说明如何在身份验证系统中执行操作。

具体来说,在2.6之前,security.context服务有一个getToken和setToken函数,它有一个可选的token参数。新的token_storage服务具有getToken和setToken函数,但它们需要tokenid和token。用于执行自定义身份验证的详细示例文档(请参阅2.7 Custom Authentication Docs)仍然显示只将令牌传递给setToken,尽管它已更新为使用token_storage服务显示。

是否有人从< = 2.5升级到> = 2.6成功实现了自定义身份验证,如果是这样,你能说出我应该在何处/如何获取必要的tokenId以传递给setToken和getToken方法?

AbstractAuthListener中的2.6之前的示例代码 - >句柄函数:

        $previousToken = $this->securityContext->getToken();
        $authToken = $this->authenticationManager->authenticate($token);
        $this->securityContext->setToken($authToken);
        ...// various other code
        catch(\Exception $ex){$this->securityContext->setToken() //clearing security context due to exception during authentication.

post 2.6 getToken显示$ tokenId的必需参数,setToken需要$ tokenId和$ token

0 个答案:

没有答案