with net example asp c# iis-7 asp.net-web-api http-status-code-401

c# - example - oauth 2.0 asp net web api



401 Error no autorizado web api mvc windows authentication (5)

Agregué las siguientes líneas en la configuración web para solucionar el problema y funcionó.

<security> <authorization> <add accessType="Allow" users="*" /> </authorization> </security>

Estoy recibiendo un error 401 no autorizado. Mi servicio web está escrito en mvc. en IIS configurado para usar la autenticación de Windows. A continuación se muestra la captura de pantalla de violinista

Cuando pulso URL desde el navegador, aparece una ventana emergente para ingresar el nombre de usuario y la contraseña. ¿Cómo puedo evitar la ventana emergente?

Estoy llamando a esta aplicación web desde otro servicio de ventana.


Si está usando WebClient, necesita configurar los Créditos. ¿Cómo llamas a la API web desde el servicio de Windows?


Sospecho que los dos servicios web pueden estar alojados en el mismo servidor. En este caso, el problema puede ser causado por la verificación de bucle invertido. Para probar, intente hacer referencia al servicio sin utilizar el nombre de dominio completo y verifique si funciona. Si lo hace, use los siguientes pasos para especificar qué nombres de host se encuentran en la computadora local.

Método 1: especifique los nombres de host (método preferido si se desea la autenticación NTLM) ( http://support.microsoft.com/kb/896861 )

Para especificar los nombres de host que están asignados a la dirección de bucle invertido y pueden conectarse a sitios web en su computadora, siga estos pasos:

  1. Establezca la entrada del registro DisableStrictNameChecking en 1. Para obtener más información acerca de cómo hacer esto, haga clic en el siguiente número de artículo para ver el artículo en Microsoft Knowledge Base: 281308 Conectar con SMB compartir en una computadora con Windows 2000 o Windows Server 2003- la computadora basada puede no funcionar con un nombre de alias
  2. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y luego haga clic en Aceptar.
  3. En el Editor del registro, busque y luego haga clic en la siguiente clave de registro: HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Lsa / MSV1_0
  4. Haga clic con el botón derecho en MSV1_0, seleccione Nuevo y luego haga clic en Valor de cadena múltiple.
  5. Tipo BackConnectionHostNames, y presiona ENTRAR.
  6. Haga clic con el botón secundario en BackConnectionHostNames y luego haga clic en Modificar.
  7. En el cuadro Información del valor, escriba el nombre de host o los nombres de host para los sitios que están en la computadora local y luego haga clic en Aceptar.
  8. Salga del Editor del registro y luego reinicie el servicio IISAdmin.

http://blogs.4ward.it/impersonation-issues-401-error-mvc-and-web-api-4-5/

** Editado para que sea en forma de respuesta e incluya los pasos detallados de los enlaces a los que se hace referencia


Mis 2 centavos: me enfrenté a un escenario en el que nos desconcertó un HTTP 401 al solicitar una imagen cuando se implementó la aplicación web. Usamos WiX como nuestra solución de empaquetado e instalación. En este caso específico, el instalador no empaquetó la imagen y, por lo tanto, la ruta no existía en la instancia implementada.

Uno puede preguntarse por qué esto arrojó un 401 cuando se esperaba un 404 (no encontrado) - mi entendimiento es que dado que nuestro camino no estaba directamente debajo de la raíz sino algo así como root / content / images / image.png, e hice un solicitud anónima, obtuve un 401 (no autorizado) ya que no tenía acceso para navegar por el directorio. Confirmé esto agregando un encabezado de Autorización a mi solicitud y luego, como era de esperar, obtuve un 404 .


Puede especificar el nombre de usuario y la contraseña como parte de la URL:

http://username:[email protected]/foo/bar/baz

Nota: el hecho de que pueda no significa que deba hacerlo . Si bien esta puede ser una solución temporal para probar cosas, no recomendaría hacer esto en producción. Y en los viejos tiempos, así es como lo hicimos. Pero, como señala @DiskJunky, "las URL son fácilmente visibles para prácticamente cualquier cosa / persona", lo que incluye el historial de su navegador, los registros del servidor y, quizás, cosas peores.