Я новичок в использовании .net 4.0 VS2010. Мне нужно использовать java webservice и отправить пользовательскую аутентификацию на основе имени пользователя для доступа к сервису, это я легко сделал с помощью WSE2.0 в VS2005, что заменит это в net 4.0?
Мой клиент - веб-приложение .net 4.0 Asp.net (веб-сайт), а сервис - java webservice.
Спасибо
Хорошо, после проверки с Google дядя, следующий сайт был отправной точкой gud
WCF Security
основываясь на том, что я сделал несколько изменений в своем коде, но все же не испытал особой радости. вот код
protected void TPLoginButton_Click(object sender, EventArgs e)
{
thirdpartyloginClient tplogin = null;
ThirdPartyLogInResponse proxyresponse = null;
ThirdPartyLogInRequest proxyrequest = null;
try
{
if (tplogin == null)
{
tplogin = new thirdpartyloginClient();
}
if (proxyrequest == null)
{
proxyrequest = new ThirdPartyLogInRequest();
}
tplogin.ChannelFactory.Credentials.UserName.UserName = "abcd";
tplogin.ChannelFactory.Credentials.UserName.Password = "sWwqHyCKMgjttlJEsQIvxzuBPTIBeVquZRPZqZdbDYDaOiHVxKuwYuYmQDVtqqBrBAlLiuOwWwQwOfTqSzOpyUaEbliOPaBHJTnBvulRSuZrcTHddKXwAIIxYDcuUmBJ";
proxyrequest.username = "gauls";
proxyresponse = tplogin.ThirdPartyLogIn(proxyrequest);
}
catch
{
if (proxyresponse != null)
{
ResultBoxResponse.Text = proxyresponse.result.resultMessage.ToString();
}
else
{
ResultBoxResponse.Text = "Empty response!!";
}
}
finally
{
if (proxyresponse != null)
{
ResultBoxResponse.Text = proxyresponse.result.resultMessage.ToString();
}
else
{
ResultBoxResponse.Text = "Empty response!!";
}
}
}
мой web.config выглядит ниже
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="thirdpartyloginSoap11" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<!-- UsernameToken over Transport Security -->
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://11.2.2.16:6060/trydemo/ws/thirdpartylogin" binding="basicHttpBinding" bindingConfiguration="thirdpartyloginSoap11" contract="ThirdPartyLoginService.thirdpartylogin" name="thirdpartyloginSoap11"/>
</client>
</system.serviceModel>
Вопрос
как добавить метку времени и пароль в качестве дайджеста
ошибка, которую я получаю сейчас,
Предоставленная схема URI 'http' недействительна; ожидаемый «https».
Имя параметра: через
я пытался использовать clearusernamebinding
я получаю следующую ошибку
Необеспеченная или неправильно защищенная ошибка получена от другой стороны. См. Внутреннее исключение FaultException для получения кода ошибки и подробностей.
мой файл web.config выглядит так
<
system.serviceModel>
<bindings>
<clearUsernameBinding>
<binding name="myClearUsernameBinding" messageVersion="Soap11" />
</clearUsernameBinding>
</bindings>
<
client>
<
endpoint address=http://10.2.2.16:7070/demo/ws/thirdpartylogin
binding="clearUsernameBinding" bindingConfiguration="myClearUsernameBinding"
contract="ThirdPartyLoginService.thirdpartylogin"
name="ClearUsernameBinding_thirdpartylogin" />
</
client>
<
extensions>
<
bindingExtensions>
<
add name="clearUsernameBinding" type="WebServices20.BindingExtenions.ClearUsernameCollectionElement, ClearUsernameBinding" />
</
bindingExtensions>
</
extensions>
</
system.serviceModel>
«Требование получателя для перевариваемого пароля не выполнено» сильный текст , то есть фактическая ошибка
Как мне отправить пароль в шапке как PasswordDigest?