我有一个REST API和该API的前端,都使用Symfony2编写。
在前端我已经写自定义用户提供程序来创建在前端用户对象,基于来自像(散列)密码,盐后端信息等
每本文档:http://symfony.com/doc/current/cookbook/security/custom_provider.html将自定义用户提供程序与http基本的哈希密码组合到后端api
然而,对于我的大部分API请求,我都需要HTTP基本身份验证凭据。但据我所知,对于基本我需要明文密码。我没有在前端,我只有我的自定义用户提供程序的哈希版本。
我可以以某种方式使用HTTP基本与散列密码版本?
或者我可以拦截_username和前端的登录表单的_password领域,并将其保存在会话(不知道这是正确的,但它会解决它)
我已经试过了后者,通过将登录表单发送到我自己的URL而不是'login_check',这样我就可以看到_username和_password字段,但是之后我需要将它转发到'/ login-check'以让Symfony2做到这一点。尽管这样做仍然失败,因为他'找不到控制器'(正常使用时,Sf2在没有我设置控制器的情况下拦截login_check调用,但我想它不会在你开始搞乱它时)。
任何建议如果你之前它向服务器发送散列密码将受到欢迎,
干杯,
迪特
为什么不在后端和前端使用相同的防火墙? – julesbou 2012-04-02 13:03:30
你能详细说明你的意思吗?我不认为我遵循。这两种防火墙的情况大不相同:后端一个由http basic auth组成,并且是无状态的,而前端certanly不能是无状态的,需要通过表单进行身份验证,而不是HTTP Basic。 – Dieter 2012-04-02 17:54:15