Использование аутентификации kerberos с WebAPI в ядре .NET - PullRequest
0 голосов
/ 19 сентября 2019

Я создал основное приложение .net, которое размещается на IIS, и я хочу заставить определенную конечную точку API использовать только аутентификацию на основе согласования.

Поэтому я попытался добавить в web.config следующее:

  <location path="~/api/v1/authentication/sso">
    <system.webServer>
      <security>
        <authentication>
          <anonymousAuthentication enabled="false" />
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
  </location>

Но когда я открываю URL, аутентификация не происходит, и я просто получаю ответ 200 с сервера.

1 Ответ

0 голосов
/ 20 сентября 2019

Вы можете использовать встроенный атрибут аутентификации ядра asp.net.

установить следующее, чтобы иметь авторизацию на каждом контроллере

 services.AddMvc(options =>
            {
                var policy = new AuthorizationPolicyBuilder()
                    .RequireAuthenticatedUser()
                    .Build();
                options.Filters.Add(new AuthorizeFilter(policy));
            })

и использовать [AllowAnonymous] для тех, где выне нужно.

для более подробной информации вы можете обратиться к этой статье ниже:

Введение в авторизацию в ASP.NET Core

Простая авторизация в ASP.NET Core

...