Javascript AngularJS资源选项与凭据问题

Javascript AngularJS资源选项与凭据问题,javascript,c#,asp.net,angularjs,asp.net-core,Javascript,C#,Asp.net,Angularjs,Asp.net Core,我在使用AngularJS资源时遇到了一个问题,即无法执行、放置、发布或删除操作。然而,得到的作品只是伟大的 最终,我有一个.NETWebAPI,它是我的服务器端。我启用了CORS,但我使用Windows身份验证来授权用户 在我的app.Config中,我添加了以下凭据: app.config(['$httpProvider', function ($httpProvider) { $httpProvider.defaults.useXDomain = true; $httpPr

我在使用AngularJS资源时遇到了一个问题,即无法执行、放置、发布或删除操作。然而,得到的作品只是伟大的

最终,我有一个.NETWebAPI,它是我的服务器端。我启用了CORS,但我使用Windows身份验证来授权用户

在我的app.Config中,我添加了以下凭据:

app.config(['$httpProvider', function ($httpProvider) {
    $httpProvider.defaults.useXDomain = true;
    $httpProvider.defaults.withCredentials = true;
}
]);
在我的AngularJS控制器中,我有这样的东西:

var ModelGrab = $resource($rootScope.baseurl + 'Staging/GIS/CurrentTransformer/:id', null, { 'delete': { method: 'DELETE' } });
现在,当我调用此函数时,如下所示:

ModelGrab.get({ page: $scope.currentPage, records: $scope.recordsperpage, sort: $scope.sortType, reverse: $scope.sortReverse, search: $scope.search, all: false }).$promise.then(function (model) {
        $rootScope.model = model.List;
        $scope.totalItems = model.Count;
        setTotalPages();
    }, function (errResponse) {
        $scope.showMessage('Error retrieving the model', 'danger');
    });
ModelGrab.delete({ 'ID': ID }, function () {
                    $scope.showMessage('Data saved successfully', 'success');
                    GetData();
                }, function (e) {
                    $scope.showMessage('An error occurred while trying to save the data', 'danger');
                });
一切都很好。但是,当我像这样调用DELETE函数时:

ModelGrab.get({ page: $scope.currentPage, records: $scope.recordsperpage, sort: $scope.sortType, reverse: $scope.sortReverse, search: $scope.search, all: false }).$promise.then(function (model) {
        $rootScope.model = model.List;
        $scope.totalItems = model.Count;
        setTotalPages();
    }, function (errResponse) {
        $scope.showMessage('Error retrieving the model', 'danger');
    });
ModelGrab.delete({ 'ID': ID }, function () {
                    $scope.showMessage('Data saved successfully', 'success');
                    GetData();
                }, function (e) {
                    $scope.showMessage('An error occurred while trying to save the data', 'danger');
                });
我得到一个错误:

选项。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401

现在,当我查找网络信息查看它是否通过了删除操作的withCredentials时,我注意到它没有通过

在我的ASP.NET初创公司中,我已经设置了CORS,所以我应该很乐意到这里接受它:

var policy = new Microsoft.AspNet.Cors.Core.CorsPolicy();

        policy.Headers.Add("*");
        policy.Methods.Add("*");
        policy.Origins.Add("http://localhost:27062");
        policy.SupportsCredentials = true;

        services.ConfigureCors(x => x.AddPolicy("ADMSCORS", policy));
        services.AddEntityFramework().AddSqlServer().AddDbContext<ADMSContext>(options => options.UseSqlServer(Configuration.GetSection("Data:ConnectionString").Value));

        services.Configure<AuthorizationOptions>(options =>
        {
            options.AddPolicy("ADMSServices", new AuthorizationPolicyBuilder().RequireRole(Configuration.GetSection("Security:Role").Value).Build());
        });
在我的控制器内,我具有以下功能:

[Route("api/Staging/GIS/CurrentTransformer")]
[Authorize(Policy = "ADMSServices")]
public class CurrentTransformerController : Controller
{
    [FromServices]
    public ADMSContext _Context { get; set; }
    [HttpGet]
    public ListObject Get(int page, int records, string sort, bool reverse, string search, bool all)
    {
        ListObject model = new ListObject();
        model.List = GetList(page, records, sort, reverse, search, all);

        model.Count = _Context.CurrentTransformers.Count();
        return model;
    }

    [HttpDelete]
    public void Delete(int id)
    {
        var model = _Context.CurrentTransformers.SingleOrDefault(line => line.ID == id);
        if (model != null)
        {
            _Context.CurrentTransformers.Remove(model);
            _Context.SaveChanges();
        }
    }
}
我只需要能够弄清楚为什么我在PUT、POST和DELETE上出现错误。为什么它不能通过命令的windows身份验证