acumatica - 使用自定义控制器进行匿名身份验证
问题描述
我正在尝试在 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 中向 {baseUrl}/test 发送 GET 时,它返回 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());
}
}
推荐阅读
- angular - 使用 Angular 2-4 编写 Jasmine 测试用例时 first 不是函数
- html - 页面内导航或网站导航?
- mysql - 我可以这样在MySQL中使用问号吗
- sql - 带有整数和字符串的 Django Concat 列
- sql-server - 如何将所有模式从一个数据库复制到另一个数据库(在运行时创建)?
- javascript - 使用 map 和 redux 时子道具触发重新渲染
- java - Oracle查询未返回正确数量的结果
- forms - Bootstrap 4 & Phpmailer 表单上传文件
- matlab - 当变量矩阵中存在常数时,在MATLAB上求解方程组?
- python - 基于熊猫数据框中的值的彩色编码表格图