Autenticación windows asp.net

Estoy haciendo un sitio de una sola pagina que me genera reportes de una BD, para la cual solo deseo que se accese por medio de autenticación windows, usando la siguiente configuración en mi archivo webconfig

<authentication mode="Windows"/>
<identity impersonate = "true"/>

<authorization>
<allow roles="Administradores"/>
<allow roles="Administrators"/>
<deny users="*" />
</authorization>

<customErrors mode="On" defaultRedirect="Pagina_Error/Error.htm" />

Mi problema aquí es que no he logrado que al no ser un usuario permitido me lleve a la pagina de error.

Como podría hacerle para que me aparezca la pagina de error si el usuario, no es un usuario "No autorizado",

NOTA: "Actualmente me arroja la pagina de error que muestra lo siguiente:"

Acceso denegado.
Descripción:
Error al obtener acceso a los recursos necesarios para completar esta
solicitud. Puede que el servidor no esté configurado para obtener acceso a la
dirección URL solicitada.
Mensaje de error 401.2.: No autorizado:
Error al iniciar sesión debido a la configuración de servidor. Compruebe que
tiene permiso para ver este directorio o página con las credenciales que ha
suministrado y los métodos de autenticación habilitados en el servidor Web.
Póngase en contacto con el administrador del servidor Web para obtener más
ayuda.

Quisiera poder tener una pagina personalizada para errores..

Respuesta
1

Si estas usando asp.net membership provider lo que se hace es que si no estas autenticado o falla la autenticación se redirige a la pagina de login, no se como sea tu caso.

Creo que la autenticación si esta funcionando porque, la pagina que me manda de Acceso denegado, es porque comente el siguiente código:

<!--<allow roles="Administradores"/>
<allow roles="Administrators"/>-->

si lo descomento si me deja entrar a la pagina para realizar las consultas, de manera general la pagina de error que me aparece es cuando al autenticarse con el usuario windows no pertenece al grupo de Administradores y no me redirige a la pagina de Error.htm

Dentro del API hay un IsAutenticate() con esto validas si se autentico el usuario o no, esi no esta autenticado lo envías a la pagina que deseas

Algo que me parece importante es que no estoy validando si es un usuario autenticado con código, sino solo con la configuración que tengo en el webconfig, no estoy usando una pagina de login ni nada solo con el web config:

<authentication mode="Windows"/>
<identity impersonate = "true"/>
<authorization>
<allow roles="Administradores"/>
<allow roles="Administrators"/>
<deny users="*" />
</authorization>
<customErrors mode="On" defaultRedirect="Pagina_Error/Error.htm">
</customErrors>

Para mi servicio no requiero de un login ya que solo quiero que valide si esta en un determinado grupo como lo estoy haciendo, y si me funciona, si esta validando, lo único que no me funciona es la sección de redirigir en el web config a la pagina de error personalizada en caso de que el usuario no sea del grupo de administradores,

Lo que pasa es que eso no es un error es una excepción o una condición de la autenticación, por eso te propuse lo anterior

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas