сгенерировать WS-security usernameToken заголовок в Visual studio 2010 - PullRequest
1 голос
/ 22 сентября 2011

У меня есть необходимость реализовать прямую аутентификацию с UsernameToken WS-Security.

Я использую веб-сервис Java с Visual Studio 2010; который аутентифицируется с помощью заголовка UsernameToken.

Я подумал, что могу использовать WSE 3.0 -> http://msdn.microsoft.com/en-us/library/ff647197.aspx

Однако WSE 3.0 не поддерживается в Visual Studio 2010. Я также нашел http://www.junasoftware.com/blog/how-to-use-wse-3-in-visual-studio-2010.aspx Но я не смог найти файл AddIn на компьютере с Windows 7: - (

Итак, вернемся к квадрату 1; Как создать заголовок usernameToken WS-security в Visual studio 2010?

1 Ответ

1 голос
/ 23 сентября 2011

Я помню, что делал это пару месяцев назад, и это была полная головная боль. Я думаю, что нашел файл в 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

...