我需要将我的Web应用程序中的组合(登录名/用户密码)发送到一个Web服务,该服务会对所有公司程序中的所有员工进行认证。但现在正在发生的事情是简单的文字贯穿始终。我被要求使用TLS(而不是SSL3)来加密组合以获得良好的安全性(asp.net 4.0 Framework,c#)。
问题是我甚至不知道从哪里开始,在我寻找类似问题的每个地方,我看到那些非常接近目标的人们,只需要最后一行代码来确认证书或者一个最后一点配置允许"握手"处理。
我访问我的网络服务的方式似乎太简单了,也许我必须从头开始,这就是为什么我想首先问一下。以下是我如何称呼网络服务的功能:
在Web.Config中:
//Binding
<binding name="BasicHttpBinding_ICommun1" 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" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
//Declaring EndPoint
<endpoint address="http://CannotTellYouThat.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICommun1"
contract="NameOfTheService.ICommun" name="BasicHttpBinding_ICommun1" />
在C#类中,我只需要这个:
public NameOfTheService.Utilisateur login(string ip, string nomUtilisateur, string userPass)
{
NameOfTheService.CommunClient instance = new NameOfTheService.CommunClient();
return instance.Authentifier(ip, nomUtilisateur, userPass, AuthentificationServices.SystemeEnum.AppName);
}
它返回一个User(Utilisateur),其中包含所需的所有信息。这看起来像我必须删除web.Config绑定并在C#中执行所有操作。欢迎任何形式的帮助或建议。感谢。