繁体   English   中英

通过HTTP进行基本身份验证的WCF服务

[英]WCF Service with Basic Auth over HTTP

我正在开发一个WCF服务应用程序

  • 托管应用程序的服务器位于域中
  • 使用基本身份验证授权客户端
  • 将用户名和密码映射到AD用户
  • HTTP
  • IIS仅允许Basic Auth

我找到了这篇MSDN文章 ,但这是HTTPS的一个示例。

已经对web.config进行了巨大的挂载尝试,但我无法弄清楚如何配置。

任何帮助将不胜感激 :)

谢谢

您可以将绑定更改为基本绑定而不是wsBining

<basicHttpBinding>
        <binding name="BasicBinding" receiveTimeout="00:01:00"
          sendTimeout="00:01:00">
          <security mode="None">
            <transport clientCredentialType="Basic"/>
            <message clientCredentialType="UserName" />
          </security>
        </binding>
      </basicHttpBinding>

另一个选项是,您可以向应用程序添加自定义用户验证方法(Class),并在其中创建身份验证

<serviceBehaviors>
<behavior name="ServiceBehaviour">
<useRequestHeadersForMetadataAddress />
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<clientCertificate>
<authentication customCertificateValidatorType="WCFServices.clsCertificateValidator, App_Code/WCFServices" certificateValidationMode="Custom" revocationMode="NoCheck" />
</clientCertificate>
<userNameAuthentication userNamePasswordValidationMode="Custom"              customUserNamePasswordValidatorType="WCFServices.clsUserValidator, App_Code/WCFServices" />
<peer>
<peerAuthentication customCertificateValidatorType="WCFServices.clsCertificateValidator, App_Code/WCFServices" certificateValidationMode="Custom" revocationMode="NoCheck" />
<messageSenderAuthentication customCertificateValidatorType="WCFServices.clsCertificateValidator, App_Code/WCFServices" certificateValidationMode="Custom" revocationMode="NoCheck" />
</peer>
<issuedTokenAuthentication audienceUriMode="Never" customCertificateValidatorType="WCFServices.clsCertificateValidator, App_Code/WCFServices" certificateValidationMode="Custom" revocationMode="NoCheck" allowUntrustedRsaIssuers="true" />
</serviceCredentials>
</behavior>
</serviceBehaviors>

并且在这个类中如果需要停止用户抛出异常。

暂无
暂无

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

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