Como puede ver, esta es una pregunta de un desarrollador no web. Me gustaría tener una página ASPX que, bajo ciertas circunstancias, puede generar un error 401 del código. Idealmente, mostraría la página estándar de IIS.Cómo generar un error 401 mediante programación en una página ASP.NET
Respuesta
Establezca Response.StatusCode y luego, si necesita detener la ejecución, llame al Response.End().
Debería poder simplemente utilizar lo siguiente, según MSDN.
Throw New HttpException(401, "Auth Failed")
Editar Después de ver las otras respuestas ajuste el código de estado sería más apropiado.
Response.StatusCode = 401;
Response.End();
No tengo idea de por qué se votó negativamente, es más o menos lo mismo que mi respuesta (respondida), solo en forma de código. Claro, no tiene los enlaces que * pueden * ser útiles, pero sigue siendo una respuesta perfectamente buena ... –
Estoy totalmente de acuerdo con Jon. Como no puedo aceptar dos respuestas, acepté la respuesta de Jon y voté esta. Sin embargo, hay algunas cosas que debería resolver por mi cuenta, pero me dieron una ventaja. ¡Gracias! –
Probablemente fue rechazado porque fue presentado justo después de @ jon, por lo que parecía una respuesta de piggy-back (aunque ambos fueron escritos simultáneamente). Gracias por los votos a favor): –
Creo que prefiero:
throw new HttpException(401, "Auth Failed")
no creo que el método Response.StatusCode
provoca errores personalizados definidos en el archivo web.config, por ejemplo
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="401" redirect="AuthFailed.htm" />
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
Lanzar una nueva excepción definitivamente desencadena errores personalizados.
Además, es posible que esté utilizando una función de registro de errores de toda la aplicación, al igual que ELMAH o algo, y no creo que el método Response.StatusCode
se registra allí, tampoco.
Nota: Veo ahora que la pregunta decía que, idealmente, debería mostrarse la página de error estándar de IIS. Obviamente, las páginas de error personalizadas son no deseadas. Yo usaría el método Response.StatusCode
en ese caso.
¡Oye, eso es increíble! ¡Justo lo que necesitaba saber! –
Un comentario adicional.
Si una parte de la página ya se ha escrito en el búfer de salida, entonces es importante que borre cualquier contenido almacenado en búfer o que la página no aparezca correctamente.
Esto es bastante probable en un entorno modelado. p.ej. Páginas maestras ...
Response.ClearContent();
Response.StatusCode = 401;
Response.End();
- 1. Generar propiedades mediante programación
- 2. Generar mediante programación un proyecto de Eclipse
- 3. ¿Cómo hacer clic en un botón en una página web de ASP.NET mediante programación?
- 4. ¿Cómo puedo generar errores al utilizar .less mediante programación?
- 5. Obtener página actual mediante programación
- 6. ASP.NET MVC fácil de usar 401 error
- 7. Obteniendo la página en blanco en lugar de la página de error 401
- 8. Cómo llamar a un servicio web mediante programación en asp.net
- 9. Posible lanzar un error 404 dentro de una página ASP.Net?
- 10. Cómo generar un enlace de página emergente en ASP.NET MVC
- 11. ¿Agregar ScriptManager a la página mediante programación?
- 12. Cómo forzar que ListView muestre la primera página mediante programación
- 13. ¿Cómo insertar mediante programación una fila en un GridView?
- 14. Cómo acceder mediante programación a la página web en Java
- 15. ¿Cómo visualizo una página de error personalizada para un resultado Http 401?
- 16. página de error personalizada en Apache 2 por 401
- 17. ¿Cómo puedo generar PDF mediante programación utilizando LaTeX?
- 18. Asp.net Las imágenes están dando 401 error no autorizado aleatoriamente
- 19. Dropbox SDK 401 Error
- 20. ¿Cómo elimino un dominio DNS mediante programación?
- 21. Cómo agregar un atributo mediante programación
- 22. cómo detectar mediante programación si mi aplicación se está ejecutando en IIS 7.0 modo integrado dentro de una página ASP.NET
- 23. mediante programación en C#
- 24. Cómo reiniciar mediante programación?
- 25. Cómo interactuar con una aplicación mediante programación
- 26. Cómo agregar una referencia mediante programación
- 27. ¿Cómo ocultar una vista mediante programación?
- 28. Redirección de autenticación de Windows a una costumbre página 401
- 29. aumentar mediante programación un comando
- 30. Rieles: ¿Devuelve un 401?
He intentado esto y cuando me registré la respuesta HTTP en el navegador, tengo una 500 (Internal Server Error) en lugar de una excepción 401 (no autorizado) – dreamerkumar
Además, no es tirar peores en términos de rendimiento? – dreamerkumar
Realmente no me importa lo que se prefiera. Este método es más corto y más fácil de recordar, así que lo uso. – Brad