使用匿名身份验证

时间:2015-07-08 09:46:38

标签: asp.net vb.net wcf iis web-config

我对使用JSON与网站的某些客户端部分进行通信的Web服务有一个问题 web服务在网站解决方案中,并在aspx页面中使用VB(Web表单)

我的网络配置是:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <bindings>

      <webHttpBinding>

        <binding name="Binding1">

          <security  mode="None">
            <transport  clientCredentialType="None" />
          </security>

        </binding>
      </webHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          </behavior>
        </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="ServiceAspNetAjaxBehavior">
          <enableWebScript/>
          </behavior>
        </endpointBehaviors>
    </behaviors>
    <!--<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>-->
    <services>
      <service name="Z60MRTR002.FrmCommandeAction" behaviorConfiguration="ServiceBehavior">
        <endpoint address="" binding="webHttpBinding" bindingConfiguration="Binding1" contract="Z60MRTR002.FrmCommandeAction" behaviorConfiguration="ServiceAspNetAjaxBehavior" ></endpoint>
          <!--<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />-->
      </service>
    </services>
  </system.serviceModel>

  <system.web>
    <compilation defaultLanguage="vb" debug="true" targetFramework="4.0"/>
    <customErrors mode="Off"/>
    <authentication mode="Windows"/>
    <authorization>
        <allow users="*"/>
    </authorization>

    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>

    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
  </system.web>
  <appSettings>
            <!-- SOME SETTINGS -->
  </appSettings>
</configuration>

我在IIS服务器上激活了匿名身份验证。

它在IISExpress(本地)上工作正常但在我的生产服务器(iis6.0)上没有,帮助!

错误是:

[NotSupportedException:Lesparamètresdesécuritépource servicerequièrent'authentification'Anonymous',mais elle n'estpasactivéepourl'application IISquiébergeceservice。]

英文版:此服务的安全参数需要“匿名”身份验证,但不会为托管IIS应用程序激活

编辑: 我将wcf复制并粘贴到新的wcf项目中,然后在服务器上发布它,确保启用了匿名身份验证。它告诉我auth未激活。

紧随其后: https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/f594e137-e2da-4b22-ab58-f8edba938802.mspx?mfr=true

只要问我是否需要更多信息。 谢谢!

2 个答案:

答案 0 :(得分:0)

确保在IIS中启用了匿名身份验证: https://technet.microsoft.com/en-us/library/cc731244%28v=ws.10%29.aspx

答案 1 :(得分:0)

我发现了我的错误,它远远没有接近网络配置,也没有接近服务器的配置。我实际上有一个名为 HttpContext.Current.User 的子功能...

即使服务器被激活,服务器也会返回错误: 所以对任何激活匿名身份验证的人仍然会收到错误,您可能需要仔细检查您的代码:)

我还不确定为什么它适用于iisExpress.Maybe它是调试允许iisE访问HTTPcontext。