Article View: es.comp.lenguajes.java
Article #827Re: codigo de errores en protocolo http
From: Guevonaso
Date: Mon, 18 Dec 2006 10:02
Date: Mon, 18 Dec 2006 10:02
64 lines
3564 bytes
3564 bytes
Claudio ha escrito: > On 2006-12-15, Guevonaso <fernando.rosado@gmail.com> wrote: > > La duda es la siguiente. > > En mi aplicación antes de hacer nada compruebo si el usuario está > > identificado y en caso afirmativo, si tiene permiso para hacer la > > operacion concreta. > > > > El caso es que en caso de que no tenga permiso indico el error : > > > > HttpServletResponse.SC_FORBIDDEN : 403 > > > > Y si no se a identificado en la plataforma: > > > > HttpServletResponse.SC_UNAUTHORIZED : 401 > > > > Mi duda es si estos son los códigos correctos, creo que si pero > > quisiera confirmalo. > > Por completar un poco: con el código 401 le indicas al navegador cliente > que le presente al usuario una pantallita en la que debe introducir el > usuario y la contraseña para que se autentifique en el sistema. Esa > autentificación va vía dos cabeceras: remote_user y otra para la pass, > que no recuerdo como se llama, y la puede tratar el servidor web para > autentificar al usuario o bien la puede tratar tu aplicación. Si quieres > pintar tú mismo la pantallita de login no debes usar el 401. El caso es que tengo un proceso de verificación de permisos, un usuario se identifica y tiene unos permisos. si por cualquier cosa el usuario intenta acceder a una URL a la que no tiene permiso, vuelvo a una página inicial y le digo "no tienes permisos para hacer eso". Pero si el usuario no se ha identificado (o ha perdido la sesion) lo que hago es volver a la página de login con un mensaje "tienes que identificarte". Funciona y eso, pero quería hacerlo enviando mensajes de error. De forma que en el control hago : response.sendError(HttpServletResponse.SC_FORBIDDEN, "not Authorized"); para 403 response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "not Authorized"); para 401 en Web.xml tengo : error-page> error-code>403</error-code> location>/comun/pag/error/403.jsp error-page> error-code>401 location>/comun/pag/error/401.jsp error-page> Y en cada JSP hago un proceso de forward a la url adecuada. Ahora la duda es lo que me comentas sobre las cabeceras de autenticación. ¿entonces el error 401 no se debe usar como yo lo comento? Muchas gracias. Fernando
Technical Details
Message-ID:
<1166436150.990412.194170@t46g2000cwa.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!t46g2000cwa.googlegroups.com!not-for-mailReferences:
<1166176689.134893.5910@73g2000cwn.googlegroups.com> <slrneo62qd.bhb.claudio@example.org>Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,a4a8e9584e570a68 X-Google-Attributes: gid1116f3,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!t46g2000cwa.googlegroups.com!not-for-mail From: "Guevonaso" <fernando.rosado@gmail.com> Newsgroups: es.comp.lenguajes.java Subject: Re: codigo de errores en protocolo http Date: 18 Dec 2006 02:02:31 -0800 Organization: http://groups.google.com Lines: 65 Message-ID: <1166436150.990412.194170@t46g2000cwa.googlegroups.com> References: <1166176689.134893.5910@73g2000cwn.googlegroups.com> <slrneo62qd.bhb.claudio@example.org> NNTP-Posting-Host: 80.34.137.78 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1166436157 11508 127.0.0.1 (18 Dec 2006 10:02:37 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 18 Dec 2006 10:02:37 +0000 (UTC) In-Reply-To: <slrneo62qd.bhb.claudio@example.org> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.8.1) Gecko/20061010 Firefox/2.0,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: t46g2000cwa.googlegroups.com; posting-host=80.34.137.78; posting-account=WICUow0AAAC-EsXMMMKn5jFCqzRetOQB