问题描述
嗨!
我有一个非常奇怪的问题,如果我不能尽快解决它,我会秃顶:(
它非常简单,我要做的就是设置IIS以承载需要通过SSL进行基本身份验证的WCF服务
我有一个受信任的证书.
该网站在默认端口443上运行.
IIS网站也设置为仅允许基本身份验证.
如果我尝试访问应用程序中的任何.txt文件都可以正常工作.
Bur 当我尝试访问.svc文件时,我的登录无效.它不断提示我输入用户名和密码.
在网站日志文件中,我收到401.5 http错误?!?
有人知道如何解决这个问题吗?
致谢
Per Bornsjo
Regards
Per Bornsjo
下面的Web.config部分
Web.config sections below
< system.serviceModel >
< 绑定 >
< basicHttpBinding >
< 绑定 名称 = " SecurityByTransport " 字体> />
</ 行为 >
</ 服务行为 >
</ 行为 >
< 服务 >
< 服务 behaviorConfiguration = " DefaultBehavior " 名称 = " MASServices.MASActivities " >
< 端点 地址 = " 绑定 = " basicHttpBinding " bindingConfiguration = " SecurityByTransport " 名称 = " BasicEndpoint " 合约 = " MASServices.IMASActivities " />
</ 服务 >
</服务 >
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SecurityByTransport">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentCalls="50" maxConcurrentSessions="50" />
<dataContractSerializer maxItemsInObjectGraph="655360" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="DefaultBehavior" name="MASServices.MASActivities">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="SecurityByTransport" name="BasicEndpoint" contract="MASServices.IMASActivities" />
</service>
</services>
推荐答案
<绑定 名称 = " SecurityByTransport " >
< 安全性 模式 = " 传输" >
运输 clientCredentialType = " 基本" proxyCredentialType = " 没有" />
</ 安全性 >
</ 绑定 >
<binding name="SecurityByTransport">
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="None" />
</security>
</binding>
帖子中的配置(TransportCredentialOnly)表示没有SSL要求.
谢谢
Vish
Vish
这篇关于WCF IIS HTTPS基本身份验证.奇怪的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!