我们正在使用专有的单点登录服务远程拨打会员电话。我们通过 VPN 连接。
我们在以下位置出现错误:
Service.Web.Security.Membership.ValidateUser(username, password);
无论 VPN 是否正常工作:
堆栈跟踪:
[ArgumentNullException:值不能为空。参数名称:remoteAddress] System.ServiceModel.ClientBase`1..ctor(String endpointConfigurationName, String remoteAddress) +3235973 ProprietaryService.Security.Membership.MembershipServiceProxy.ValidateUser(String applicationName, String username, String password, Int32 maxInvalidPasswordAttempts) +231 ProprietaryService。 Security.Membership.MembershipProvider.ValidateUser(String username, String password) +27 System.Web.Security.Membership.ValidateUser(String username, String password) +26 includes_usercontrols_LoginForm.btnLogin_Click(Object sender, EventArgs e) in LoginForm.ascx.cs :91 System.Web.UI.WebControls.Button.OnClick(EventArgs e)+9553178 System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument)+103 System.Web.UI。
Web.Config 的相关区域:
<system.web>
<membership defaultProvider="MembershipProvider">
<providers>
<clear />
<add name="MembershipProvider"
type="ProprietaryMembershipAPIName1, ProprietaryMembershipAPIName2"
connectionStringName="ConnectionStringToRemoteDB1" enablePasswordRetrieval="false" enablePasswordReset="true"
requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="RemoteAppName" />
</providers>
</membership>
</service.web>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="MembershipProvider_NetTcpBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address=""
binding="netTcpBinding" bindingConfiguration="Membership_NetTcpBinding"
contract="MembershipProviderService.MembershipService" name="Membership_NetTcpBinding" >
</endpoint>
</client>
我们可以通过 ConnectionStringToRemoteDB1 中的凭据远程访问数据库。我们被告知“MembershipProviderService.MembershipService”和相关的 API 旨在从数据库中获取远程地址并将其提供给成员资格提供程序。
有没有人看到这里的配置有任何问题,尖叫着说这不起作用?这感觉就像缺少一个配置部分,但是通过 VPN 跨域使用服务使得很难知道问题可能是什么。感谢您提前提出任何建议!