75 lines
1.8 KiB
C#
75 lines
1.8 KiB
C#
using System.ServiceModel.Channels;
|
|
using System.Xml;
|
|
|
|
namespace BeWoLauncher.Security
|
|
{
|
|
// TODO: Make it namespace-conform (type Attributes, prefixes, etc)
|
|
// ns:
|
|
public class LauncherSecurityHeader : 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();
|
|
}
|
|
}
|
|
} |