IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[Débutant]Classe d'Authentification : compilation impossible


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [Débutant]Classe d'Authentification : compilation impossible
    Bonjour,

    j'essaye de mettre en place une classe permettant une Authentification.
    Or je n'arrive pas à comprendre lorsque je compile le code, j'obtiens cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Auth.java:25 '{' expected
    private class String check (String Authorization) throws  ServletException, IOException {
                         ^
     
    1error
    le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    import javax.sql.*;
    import java.util.*;
    import java.lang.*;
     
    public class Auth extends HttpServlet {
      protected void doGet(HttpServletRequest request,HttpServletResponse response)
        throws ServletException, IOException {
     
        String user;
        String authorization = request.getHeader("Authorization");
        if (authorization == null || (user=check(authorization))==null) {
          response.setHeader("WWW-Authenticate", "Basic realm=\"Mon site\"");
          response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
          return;
        }
        response.setContentType("text/plain");
        response.getWriter().println("Bienvenue"); 
      }
    }
     
    private class String check(String authorization) throws ServletException,IOException {
        if (!authorization.toLowerCase().startsWith(BASIC_SCHEME))
          throw new ServletException("unrecognized authentication scheme");
     
        String creditBase64= authorization.substring(1+BASIC_SCHEME.length());
        sun.misc.BASE64Decoder decoder= new sun.misc.BASE64Decoder();
        byte[] credit= decoder.decodeBuffer(creditBase64);
        String str= new String(credit);
     
        int index= str.indexOf(':');
        String user= str.substring(0, index);
        String passwd= str.substring(index + 1);
     
        return (passwd.equals("toto"))?user:null;
    }
     
      private static final String BASIC_SCHEME="basic";
    }
    ça fait plusieurs jours que je tourne le code dans tous les sens, j'ai supposé que c'était un problème d'accolade, mais je fini par douté.

    Merci d'avance pour votre aide.

    Acyclique

  2. #2
    duj
    duj est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Points : 474
    Points
    474
    Par défaut
    tu as mis un "}" en trop à ici(indiqué ds le code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public class Auth extends HttpServlet { 
      protected void doGet(HttpServletRequest request,HttpServletResponse response) 
        throws ServletException, IOException { 
     
        String user; 
        String authorization = request.getHeader("Authorization"); 
        if (authorization == null || (user=check(authorization))==null) { 
          response.setHeader("WWW-Authenticate", "Basic realm=\"Mon site\""); 
          response.sendError(HttpServletResponse.SC_UNAUTHORIZED); 
          return; 
        } 
        response.setContentType("text/plain"); 
        response.getWriter().println("Bienvenue"); 
      } 
    } ///ici
     
    private class String check(String authorization) throws ServletException,IOException { 
        if (!
    Parfois, Google fait des miracles

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour duj,

    j'ai retiré l'accolade que tu m'indiquais, pourtant j'ai la même erreur qu'avant mais avec en plus cette erreur là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Auth.java:43: '}' expected
    ^
     
    2 errors

  4. #4
    duj
    duj est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Points : 474
    Points
    474
    Par défaut
    private class String check(String authentication ) {}

    le mot class n'a rien à faire ds la déclaration d'une methode!!!!!!!

    une fois enlevé ça et l'accolade , ca compile à donf (chez moi)
    Parfois, Google fait des miracles

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    BIG Merci duj,

    sans le mot class et l'accolade, ça fonctionne nickel aussi chez moi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Classes vues par "javac" mais compilation impossible
    Par Christophe_ dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 17/12/2009, 22h48
  2. [Tomcat]Les fichiers *.class et la compilation
    Par scifire dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/09/2005, 13h31
  3. [D2005]Compilation impossible avec version Personnal
    Par fab56 dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 16/08/2005, 20h10
  4. [servlet][debutant] compilation impossible
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/03/2004, 12h48
  5. Compilation impossible
    Par Michaël dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 20/08/2003, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo