🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #827

Re: codigo de errores en protocolo http

#827
From: Guevonaso
Date: Mon, 18 Dec 2006 10:02
64 lines
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-mail
References: <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