Configurar la autenticación básica en el servicio de aplicaciones de Azure

Configurar la autenticación básica en el servicio de aplicaciones de Azure

Por diferentes razones lo estoy usando Azure's App Servicepara servir archivos estáticos. Me gustaría asegurar este acceso, Http Basic Authenticationque es suficiente para mis propósitos. ¿Cómo puedo hacer eso? Intenté cargarlo .htpasswdpero parece que no funciona.

No estoy usando ASP.NET, así que no hay forma de hacerlo mediante código. En el portal de Azure veo opciones como Google, Facebook, inicio de sesión de Twitter en App Service -> Autenticación/Autorización, pero es una gran sobrecarga para mí.

Respuesta1

Actualmente no es posible. La aplicación web de Azure no admite esto.

Podrías comprobar estocomentario.

Respuesta2

Es posible habilitar la autenticación básica para aplicaciones web de Azure con algunas configuraciones en elaplicaciónHost.xdt. Puede cargar algunos módulos en este archivo al inicio de su aplicación web.

Pasos:

  • Navegue a su aplicación web en el Portal de Azure
  • En el menú de la izquierda, busca el encabezado.Herramientas de desarrollouna selecciónHerramientas avanzadas(Kudú)
  • Utilizar elConsola de depuración > CMDherramienta, para navegar al directorio de la aplicación web:\Página de inicio
  • Crea un archivo llamado:aplicaciónHost.xdt
  • Pegue lo siguiente:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <location path="%XDT_SITENAME%" xdt:Locator="Match(path)">
    <system.webServer>
      <rewrite xdt:Transform="InsertIfMissing">
        <allowedServerVariables xdt:Transform="InsertIfMissing">
          <add name="RESPONSE_WWW_AUTHENTICATE" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
        </allowedServerVariables>
        <rules xdt:Transform="InsertIfMissing">
          <rule name="BasicAuthentication" stopProcessing="true" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)">
            <match url=".*" />
            <conditions>
              <add input="{HTTP_AUTHORIZATION}" pattern="^Basic dXNlcjpwYXNzd29yZA==" ignoreCase="false" negate="true" />
            </conditions>
            <action type="CustomResponse" statusCode="401" statusReason="Unauthorized" statusDescription="Unauthorized" />
            <serverVariables>
              <set name="RESPONSE_WWW_AUTHENTICATE" value="Basic realm=Project" />
            </serverVariables>
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </location>
</configuration>
  • Cambie la autenticación básica a su gusto (el valor predeterminado en el ejemplo es: usuario:contraseña)
  • Asegúrese de que las reglas de reescritura de web.config no contengan, <clear />ya que esto eliminará los efectos del archivo applicationHost.xdt.
  • Guarde el archivo y detenga e inicie su aplicación web (un simpleReanudarvoluntadnosatisfacer)

Notas:

  • No estoy seguro de si esto funciona en aplicaciones web basadas en Linux.
  • Puede agregar este paso a sus canalizaciones de implementación mediante FTP.
  • Actualizar:He notado problemas con applicationHost.xdt al usarlo en ranuras de aplicaciones web secundarias. Sólo la ranura principal parece funcionar.

Respuesta3

información relacionada