Проверка подлинности IIS Windows - невозможно запретить определенным пользователям - PullRequest
0 голосов
/ 06 октября 2019

Недавно я разработал очень простой API-интерфейс ядра .net, а затем развернул его на IIS и хочу включить проверку подлинности Windows для некоторых пользователей. Чтобы реализовать это, мой web.config выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
     <authentication mode="Windows" />
    <authorization>
      <allow users="Tow\USER1"/>
      <deny users="*"/>
    </authorization>
    </system.web>
    <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\Oculus.WebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
    </system.webServer>

  </location>

</configuration>

. Как видно, только пользователю User1 должен быть разрешен доступ, но каждый может получить доступ. Моя проверка подлинности IIS выглядит следующим образом: enter image description here

Может кто-нибудь помочь, пожалуйста?

1 Ответ

2 голосов
/ 07 октября 2019

Из этого потока ASP.NET Core не поддерживает и не использует web.config. Опубликованный файл web.config доступен только для хостинга IIS, поскольку IIS требует этого.

Недостатком является то, что вы можете попытаться разместить внутри system.webServer, который напрямую предназначен для настройки IIS.

<configuration>
  <system.webServer>
    <security>
      <authorization>
          <remove users = "*" roles="" verbs="" />
          <add accessType = "Allow" users="Tow\USER1"/>
      </authorization>
    </security>
  </system.webServer>
</configuration>

Но рекомендуется, чтобы вам лучше было писать свои собственныенастраиваемая политика авторизации в ядре asp.net

https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-2.2

...