symfony - 使用基本身份验证时如何识别用户?

标签 symfony authentication curl fosrestbundle

我正在 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/

相关文章:

javascript - 是否使用全局 npm

symfony - 如何从一个包访问 session 数据到另一个包

php - Symfony2 : FOSUserBundle remove "Edit Username" form field in profile

c++ - 我需要清理 curl_easy_strerror 缓冲区吗?

java - 使用 processbuilder 从 java 执行 curl

php - 根据内核请求重定向

java - 我正在尝试使用 HTTPClient 发出简单的身份验证请求,但收到错误

docker - 带有 docker 的 API 网关有哪些选项?

authentication - 如何使用用户名和密码保护 MongoDB

c++ - 如何让 CMAKE 在 OSX 上找到特定版本的 lib curl?