Я помню, что делал это пару месяцев назад, и это была полная головная боль. Я думаю, что нашел файл в C: \ Program Files \ Microsoft WSE \ v3.0 \ Tools, но могу ошибаться. Если вы можете заставить его работать, вы можете создать класс, который наследует от SoapHeader, примерно так:
public class SecuredWebServiceHeader : System.Web.Services.Protocols.SoapHeader
{
public string UserName { get; set; }
public string Password { get; set; }
public string AuthenticationToken { get; set; }
public SecuredWebServiceHeader() { }
}
после этого вы объявляете экземпляр переменной SecuredWebServiceHeader на ваших WebServices и добавляете атрибут [System.Web.Services.Protocols.SoapHeader("SoapHeader")]
ко всем вашим WebMethods. Для свойства AuthenticationToken класса SecuredWebServiceHeader я просто использую / генерирую объект Guid и использую его в качестве токена. У меня есть метод AuthenticateUser, который проверяет, является ли указанное имя пользователя действительным или нет.
Если вы не найдете файл Addin, дайте мне знать, и я постараюсь найти его.
Удачи в защите этих веб-сервисов.
Hanlet