аутентификация в ядре .net - PullRequest
0 голосов
/ 30 мая 2018

У меня проблема с возвратом аутентификации Windows в угловом формате 4.

Я использую net Core и получаю следующую ошибку:

код состояния - 401 Не авторизован

Я попробовал тот же метод в net Framework, и он работает.

Я думаю, что проблема в том, когда я хочу отправить данные в angular;метод save вызывается один раз, только с методом запроса: OPTIONS, тогда как в net Framework вызывается дважды: OPTIONS => POST.

Как я могу исправить эту проблему в net Core?Любые идеи будут полезны.

Метод сохранения:

namespace TestAuthorization.API.Controllers
{
    [Authorize]
    [Route("data")]
    public class DataController: Controller
    {
        [HttpPost]
        [Route("save")]
        public IActionResult Save(PostData data)
        {

            return Ok(data.ToString());
        }
    }
} 

Класс запуска:

namespace TestAuthorization.API
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IConfiguration>(Configuration);
            services.AddMvc();
            services.AddCors();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();

            }
            app.UseCors(builder => builder.AllowAnyOrigin()
                                          .AllowAnyMethod()
                                          .AllowAnyHeader()
                                          .AllowCredentials());
            app.UseStaticFiles();
            app.UseDefaultFiles();
            app.UseMvc();
            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Mvc did not find anything!");
            });
        }
    }
} 

enter image description here enter image description here

1 Ответ

0 голосов
/ 30 мая 2018

Возможно, у вас есть проблемы с предполетными запросами.

У меня была такая же проблема.Пожалуйста, посмотрите здесь .Там вы найдете, как я решил проблему с предполетными запросами.

...