Files
BeWoPlaner/BeWo/Security/SecurityHeader.cs
2016-06-27 01:45:38 +02:00

75 lines
1.8 KiB
C#

using System.ServiceModel.Channels;
using System.Xml;
namespace BeWo.Security
{
// TODO: Make it namespace-conform (type Attributes, prefixes, etc)
// ns:
public class SecurityHeader : MessageHeader
{
private string mPassword;
private string mUsername;
public override bool MustUnderstand
{
get
{
return false;
}
}
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";
}
}
public string Password
{
get
{
return this.mPassword;
}
set
{
this.mPassword = value;
}
}
public string Username
{
get
{
return this.mUsername;
}
set
{
this.mUsername = value;
}
}
protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
{
writer.WriteStartElement("UsernameToken");
writer.WriteElementString("Username", this.mUsername);
writer.WriteStartElement("Password");
writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");
writer.WriteValue(this.mPassword);
writer.WriteEndElement();
writer.WriteEndElement();
}
}
}