繁体   English   中英

WCF WebService的用户名身份验证

[英]UserName authentication for WCF WebService

我正在做一个绝对的噩梦,试图让它正常工作。 有人可以指出正确的方向或告诉我我哪里出问题了吗?

我创建了一个位于LocalMachine\\My的证书。

  • 我有一个承载WCF Web服务的控制台应用程序。
  • 我有一个连接到WebService的ASP.NET网站。

我已经遵循了有关此站点以及其他站点和文档的建议,但是似乎丢失了一些内容,因为我的ASP.NET网站仍可以在无需身份验证的情况下连接到WebService。

总结一下:网站连接到Web服务正常,这表明身份验证不起作用,因为我还没有告诉网站连接到Web服务所需的安全设置。

先感谢您

这是信息:

控制台应用程序(托管WebService)

Program.cs

WebService Host(控制台应用程序)在以下位置使用以下代码

ServiceHost host = new ServiceHost(typeof(MyService));
host.Open();

App.Config(缩写)

<services>
  <service behaviorConfiguration="MetaDataBehaviour" name="MyService_Provider.MyService">
    <clear />
    <endpoint address="myService" binding="wsHttpBinding" contract="MyService_Provider.IMyService"
        listenUriMode="Explicit" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8080" />
      </baseAddresses>
    </host>
  </service>
</services>

我的服务提供者

App.Config(缩写)

 <system.serviceModel>
    <bindings />
    <client />
    <services>
      <service behaviorConfiguration="MyService_Provider.Service1Behavior"
        name="MyService_Provider.MyService">
        <endpoint address="" binding="wsHttpBinding" contract="MyService_Provider.IMyService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8732/Design_Time_Addresses/MyService_Provider/Service1/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyService_Provider.Service1Behavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="MyService_Provider.CredentialsValidator,MyService_Provider"/>
            <serviceCertificate findValue="mycert" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

您尚未为服务指定任何安全要求。 看看这个文章,配置服务使用证书的一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM