c# - Azure 应用服务未经授权的用户访问 Controller

标签 c# azure azure-mobile-services azure-web-app-service

我有一个脚本,当用户经过身份验证时可以正常工作:

[MobileAppController]
public class TestController : ApiController
{
// GET api/Test
[HttpGet, Route("api/Test/completeAll")]
public string Get()
{
    MobileAppSettingsDictionary settings = this.Configuration.GetMobileAppSettingsProvider().GetMobileAppSettings();
    ITraceWriter traceWriter = this.Configuration.Services.GetTraceWriter();

        string host = settings.HostName ?? "localhost";
        string greeting = "Hello from " + host;

        traceWriter.Info(greeting);
        return greeting;
    }

    // POST api/values
    [HttpPost, Route("api/Test/completeAll")]
    public string Post(string hej)
    {
        string retVal = "Hello World!" + hej;
        return retVal;
    }
}
}

可以看出,我没有添加属性[Authorize],这是要求身份验证的新方式,see controller on this link 。在同一链接中指出,控制者现在是匿名的。

但是,如果我尝试在身份验证之前访问 Controller ,但在身份验证之后它工作正常,我会被拒绝访问。

谁能澄清一下吗?

更新

根据this link我不应该更改任何内容,因为已安装快速启动。它是但仍然不起作用:/

最佳答案

您是否将 Azure 应用服务身份验证/授权设置为要求对所有请求进行身份验证?

  • 转到 Azure 门户中的应用服务
  • 所有设置 -> 身份验证/授权(在“功能”下)
  • 在“请求未经验证时采取的操作”下,设置为“允许请求(无操作)”

这将使应用程序控制授权而不是服务。

关于c# - Azure 应用服务未经授权的用户访问 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36402645/

相关文章:

c# - 当内容从表单 2 传递到表单 1 时,文本框不会更新

c# - 将 MemoryStream 保存到文件或从文件加载 MemoryStream

azure - 未经授权,输入的授权 token 无法满足请求

c# - 将方法参数名称和值放入字典的最佳方法

node.js - 如何使用 Azure AD 实现身份验证和授权 Nodejs Azure Functions 应用程序

azure - 移动应用 Azure、数据注释

xamarin.android - 为什么在 Azure MobileServiceClient LoginAsync() 之后 Navigation.PushAsync 崩溃?

c# - 具有 Active Directory 身份验证的 User.IsInRole

c# - 使用现有数据库的 Azure 移动应用程序

c# - 如何使用显式类实现接口(interface)类型