首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2安全和报头

Symfony2安全和报头
EN

Stack Overflow用户
提问于 2013-11-25 12:16:49
回答 1查看 3.7K关注 0票数 1

我试着按照食谱创建自己的身份验证提供者。

以下是wsse侦听器:

代码语言:javascript
复制
$request = $event->getRequest();

$wsseRegex = '/UsernameToken Username="([^"]+)", PasswordDigest="([^"]+)", Nonce="([^"]+)", Created="([^"]+)"/';
if (!$request->headers->has('x-wsse') || 1 !== preg_match($wsseRegex, $request->headers->get('x-wsse'), $matches)) {
    return;
}

$token = new WsseUserToken();...

如您所见,要创建wsse令牌,http请求需要有x标头。

就我而言,它从来没有出现过。

问:什么时候应该发送这个标题,以及如何发送?

我想,mybe,应该是在我使用security.yml输入用户名和密码之后:

代码语言:javascript
复制
wsse_secured:
        pattern:    ^/
        wsse: true

因为这是真的..。

这个问题的结果是,所使用的令牌不是我定义的令牌,而是默认的令牌。

代码语言:javascript
复制
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 12:39:30

我不确定你是否理解WSSE的工作方式。您的应用程序执行而不是发送标头--客户端必须将它们包含在他的请求中。

WSSE身份验证主要由API(即SOAP)使用。

它有点类似于基本的HTTP身份验证,但提供了一些更好的安全性。

阅读更多关于它的这里

为了对客户端(浏览器、应用程序等)进行身份验证,必须在HTTP请求中提供WSSE身份验证头。

可以使用JavaScript WSSE头生成器生成身份验证标头。

您可以使用来自浏览器插件的WSSE头来模拟请求,如下所示:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20192876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档