C# DnnApiController为非超级用户返回401

C# DnnApiController为非超级用户返回401,c#,angularjs,asp.net-web-api,dotnetnuke,C#,Angularjs,Asp.net Web Api,Dotnetnuke,我有一个Dotnetnuke模块,它使用angular.js作为客户端,使用WebApi作为服务器端: 这是我的控制器: public class AppController:DnnApiController { [HttpGet] public IEnumerable<LinkInfo> GetLinks() { return AppInitializerBase.GetLinks();

我有一个Dotnetnuke模块,它使用angular.js作为客户端,使用WebApi作为服务器端: 这是我的控制器:

public class AppController:DnnApiController
    {
        [HttpGet]
        public IEnumerable<LinkInfo> GetLinks()
        {
            return AppInitializerBase.GetLinks();
        }
}
但我还是拿到了401。
知道为什么它不能与非超级用户一起使用吗?

如果你调试javascript来设置config.headers,你有tabId和moduleId吗?@DotNetNuclear是的,tabId和moduleId都设置好了。我甚至检查了我请求的头,所有的头都设置好了尝试将[AllowAnonymous]添加到GetLinks webapi控制器方法中。这应该可以摆脱401计划。测试完成后,将路由代码添加到问题中,这样我们可以确保路由上的模块文件夹名称与您在客户端sf对象上初始化的名称匹配。然后可以使用支持的模块保护api。
config.headers = {
                'ModuleId': sf.getModuleId(),
                'TabId': sf.getTabId(),
                'RequestVerificationToken': sf.getAntiForgeryValue()
            };