小编Ric*_*ais的帖子

如何在 .net core 中添加 ws-security 标头?

我正在尝试调用 Web 服务并希望手动将 ws-security 标头添加到请求中,因为 .net core 2.2 当前不支持 ws-security。

我已经创建了我的自定义安全头类:

public class SoapSecurityHeader : MessageHeader
    {
        private readonly string _password, _username;

        public SoapSecurityHeader(string id, string username, string password)
        {
            _password = password;
            _username = username;
        }
        public override bool MustUnderstand => true;

        public override string Name
        {
            get { return "Security"; }
        }

        public override string Namespace
        {
            get { return "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; }
        }

        protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
        {
            writer.WriteStartElement("wsse", Name, Namespace);
            writer.WriteAttributeString("s", "mustUnderstand", "http://schemas.xmlsoap.org/soap/envelope/", "1"); …
Run Code Online (Sandbox Code Playgroud)

c# wcf ws-security wcf-security asp.net-core

6
推荐指数
2
解决办法
6114
查看次数

标签 统计

asp.net-core ×1

c# ×1

wcf ×1

wcf-security ×1

ws-security ×1