使用匿名身份验证配置 REST wcf
configuring a REST wcf with anonymous auth
我有关于在 JSON 中与网站的某些客户端部分通信的网络服务的问题
网络服务在网站解决方案中,并在 aspx 页面(网络表单)
中使用 VB
我的网络配置是:
<?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: 服务要求的身份验证安全参数 'Anonymous',应用程序 IIS 服务未激活。]
英文:此服务的安全参数需要 "anonymous" 身份验证,但未为托管 IIS 应用程序激活
编辑:
我将 wcf 复制并粘贴到一个新的 wcf 项目,然后在服务器上发布它,确保启用了匿名身份验证。它告诉我身份验证未激活。
如果您需要更多信息,请问我。
谢谢!
按照以下步骤确保在 IIS 中启用匿名身份验证:
https://technet.microsoft.com/en-us/library/cc731244%28v=ws.10%29.aspx
我发现了我的错误,它与网络配置相去甚远,服务器的 config.I 实际上也没有一个名为 HttpContext.Current.User 的子函数。 .
服务器即使激活也返回错误:
所以任何激活匿名身份验证但仍然收到错误的人,你可能需要仔细检查你的代码:)
我仍然不确定为什么它在 iisExpress.Maybe 它正在调试的事实允许 iisE 访问 HTTPcontext。
我有关于在 JSON 中与网站的某些客户端部分通信的网络服务的问题 网络服务在网站解决方案中,并在 aspx 页面(网络表单)
中使用 VB我的网络配置是:
<?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: 服务要求的身份验证安全参数 'Anonymous',应用程序 IIS 服务未激活。]
英文:此服务的安全参数需要 "anonymous" 身份验证,但未为托管 IIS 应用程序激活
编辑: 我将 wcf 复制并粘贴到一个新的 wcf 项目,然后在服务器上发布它,确保启用了匿名身份验证。它告诉我身份验证未激活。
如果您需要更多信息,请问我。 谢谢!
按照以下步骤确保在 IIS 中启用匿名身份验证: https://technet.microsoft.com/en-us/library/cc731244%28v=ws.10%29.aspx
我发现了我的错误,它与网络配置相去甚远,服务器的 config.I 实际上也没有一个名为 HttpContext.Current.User 的子函数。 .
服务器即使激活也返回错误: 所以任何激活匿名身份验证但仍然收到错误的人,你可能需要仔细检查你的代码:)
我仍然不确定为什么它在 iisExpress.Maybe 它正在调试的事实允许 iisE 访问 HTTPcontext。