访问azure上的WCF服务时发生错误401未经授权

访问azure上的WCF服务时发生错误401未经授权,azure,Azure,首先,我使用Azure active directory授权了我的asp.net应用程序,然后我尝试访问同样位于Azure上的WCF服务。但是在调用该服务时,错误401未经授权。访问时我是否遗漏了任何内容 该错误意味着401 HTTP访问被拒绝错误。 我想知道您遇到的401错误的子状态代码。 401错误包含以下子状态代码: 401.1: Access is denied due to invalid credentials. 401.2: Access is denied due to se

首先,我使用Azure active directory授权了我的asp.net应用程序,然后我尝试访问同样位于Azure上的WCF服务。但是在调用该服务时,错误401未经授权。访问时我是否遗漏了任何内容

该错误意味着401 HTTP访问被拒绝错误。 我想知道您遇到的401错误的子状态代码。 401错误包含以下子状态代码:

401.1:  Access is denied due to invalid credentials.
401.2:  Access is denied due to server configuration favoring an alternate authentication method. 
401.3:  Access is denied due to an ACL set on the requested resource.
401.4:  Authorization failed by a filter installed on the Web server.
401.5:  Authorization failed by an ISAPI/CGI application.
401.7:  Access denied by URL authorization policy on the Web server.
此外,asp.net应用程序是否在WCF的IIS上本地成功运行?或者你刚刚试过在Azure上运行它吗

您可以创建一个自定义用户并使其正常工作,因此如果出现此问题,可以在IIS服务器上尝试以下操作:

  • 创建windows用户
  • 给它读/写/修改/执行/。。。WCF数据服务文件夹上的权限
  • 使用.NET 4、集成模式和此用户创建新的应用程序池
  • 在网站验证时,仅启用匿名模式,并将用户设置为“应用程序池标识”

或者您可以尝试对“IUSR”帐户进行“完全控制”。可能只是因为特定用户没有对磁盘的读取权限。

我们也遇到了同样的问题,但这只是因为我们正在访问“scm”端点。有趣的是,如果你创建了一个名为“webapp”的web应用程序,并获得了地址,你还可以通过网络访问该服务。但此地址不允许匿名访问。使用不带“scm”的地址时不会出现此错误。

是,我的asp.net应用程序在IIS上成功本地运行。但在azure上迁移WCF后,服务无法访问。