我正在 FOSRestBundle 中使用基本身份验证。通过 CURL 命令检查我的 API 表明它工作正常。
但是现在,我想知道执行 POST 操作的用户(想象一下用户想要对某事发表评论!那个用户是谁?)。事实上,正如您在下面的 CURL 命令中所看到的,用户及其密码均以 Base64 进行编码。
# POST
curl -v -H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Basic YW1pbmU6c3RpZ21hdGFn" \
-X POST -d '{"test":{"x":"Amine","y":"Jallouli"}}'
http://localhost/tuto/web/app_dev.php/api/v1/test/add
有什么建议吗?
仅供引用,这是我在 security.yml 中的配置
firewalls:
#.....
rest_api:
pattern: ^/api/
stateless: true
http_basic:
provider: fos_userbundle
最佳答案
你应该使用这个@amine
$user = $this->get('security.context')->getToken()->getUser();
关于symfony - 使用基本身份验证时如何识别用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658255/