使用自定义控制器的匿名身份验证

Anonymous Authentication with Custom Controller

我正在尝试在 Acumatica 中实现自定义控制器以用于开发目的。但我似乎无法弄清楚如何回避 Acumatica 身份验证并允许未经身份验证的访问。

这是我的控制器:

https://www.acumatica.com/blog/using-asp-net-web-api-mvc-with-acumatica/

    [RoutePrefix("test")]
    public class TestController: ApiController
    {
        [HttpGet]
        [Route()]
        [AllowAnonymous]
        public IHttpActionResult PerformAction()
        {
            return Ok("Actions Available");
        }
}

这是我的创业公司

public class Startup
{
    public static void Configuration(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
    }
}

public class ServiceRegistration : Module
{
    protected override void Load(ContainerBuilder builder)
    {
        GlobalConfiguration.Configure(Startup.Configuration);
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
    }
}

但是当我在 Postman 中发送 GET 到 {baseUrl}/test 时,它 returns 401 未经授权。如果我打开浏览器,登录并转到相同的路线,我会收到“可用操作”

在自定义 WebApi 控制器上允许匿名身份验证我错过了什么?

谢谢

授权可以在扩展库的Autofac模块中自定义。参考 PX.Export、PX.Hosting(这是为 2021R1 完成的)

public class Startup
{
    public static void Configuration(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
    }
}

public class ServiceRegistration : Module
{
    protected override void Load(ContainerBuilder builder)
    {
        GlobalConfiguration.Configure(Startup.Configuration);
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

// Configuration of Authorize here
        builder.Configure<AuthenticationManagerOptions>(options =>
            options.AddLocation("sourcecontrol").WithAnonymous());
    }
}