Hi Vincent,

This has already been fixed in SVN. The "authorize()" method now returns
true by default. Thanks for reporting it.

Best regards,
Jerome  

> -----Message d'origine-----
> De : news [mailto:[EMAIL PROTECTED] De la part de Vincent
> Envoyé : mercredi 24 janvier 2007 01:39
> À : discuss@restlet.tigris.org
> Objet : Guard.authenticate gets executed twice
> 
> Hi,
> 
> Unless I'm missing something, I believe  Guard.doHandle should
> be changed from: 
> 
> 
>  public void doHandle(Request request, Response response) {
>         switch (authenticate(request)) {
>         case 1:
>             // Valid credentials provided
>             if (authorize(request)) {
>                 accept(request, response);
>             } else {
>                 forbid(response);
>             }
>             break;
>         case 0:
>             // No credentials provided
>             challenge(response);
>             break;
>         case -1:
>             // Wrong credentials provided
>             forbid(response);
>             break;
>         }
>     }
> 
> to:
> 
>  public void doHandle(Request request, Response response) {
>         switch (authenticate(request)) {
>         case 1:
>             // Valid credentials provided
>             accept(request, response);
>             break;
>         case 0:
>             // No credentials provided
>             challenge(response);
>             break;
>         case -1:
>             // Wrong credentials provided
>             forbid(response);
>             break;
>         }
>     }
> 
> Otherwise, authenticate ends up being called twice (once in 
> the switch 
> statement) and once by authorize() in the case statement.
> 
> -Vincent.

Reply via email to