2010-03-03 2 views
1

Eh bien, c'est simple, fondamentalement, je veux suivre le paradigme "One Page" de GWT et pourtant intégrer la sécurité de printemps dans l'application. Ce que je comprends que si le cookie ne se trouve pas dans le système, spring redirigera l'utilisateur vers une page Open referrer demandant une connexion sinon il enverrait simplement à mon serveur l'identifiant de l'utilisateur.Comment incorporer la sécurité de printemps en utilisant ID ouvert dans un projet GWT

C'est ce que je Trid dans GWT:

 final FormPanel formPanel = new FormPanel(); 
     RootPanel.get("openId").add(formPanel); 
     VerticalPanel openIdContainer = new VerticalPanel(); 
     formPanel.add(openIdContainer); 

     TextBox url = new TextBox(); 
     url.setText("https://www.google.com/accounts/o8/id"); 
     url.setName("j_username"); 
     openIdContainer.add(url); 

     formPanel.setAction("j_spring_openid_security_check"); 
     formPanel.setMethod(FormPanel.METHOD_POST); 

     Button btn = new Button("Open ID"); 
     btn.addClickListener(new ClickListener() { 
      public void onClick(Widget sender) 
      { 
       formPanel.submit(); 
      } 
     }); 
     openIdContainer.add(btn);   

     formPanel.addFormHandler(new FormHandler() { 
      public void onSubmit(FormSubmitEvent event) 
      { 
       System.out.println("On Submit invoked " +event.isCancelled()); 
      } 
      public void onSubmitComplete(FormSubmitCompleteEvent event) 
      { 
       System.out.println("On Submit Complete invoked " + event.toString()); 
      } 

     }); 

sortie correspondante: sur Envoyer invoqué faux sur Soumettre complète null Invoqué

Si je comprends bien, le code html reçu est nulle. Sinon, comment devrais-je le faire? GWT 1.5 n'a pas un formulaire simple (celui qui actualise en effet la page sur submit) et un tag d'entrée avec le type comme submit. Dois-je coder en dur ceci dans le widget HTML? J'ai essayé de définir une autre image comme cible de ce panneau de formulaire, mais je n'ai toujours pas réussi à obtenir des résultats fructueux.

Répondre

0

Pour autant que je peux vous dire ne définissez pas l'URL de téléchargement correct:

formPanel.setAction(uploadServiceUrl);

/** 
    * Sets the 'action' associated with this form. This is the URL to which it 
    * will be submitted. 
    * 
    * @param url the form's action 
    */ 
    public void setAction(String url) { 
    getFormElement().setAction(url); 
    } 
+0

s'il vous plaît préciser, voulez-vous dire que « j_spring_openid_security_check », comme l'action de ma forme ne va pas? c'est un poste d'url cible de sécurité de printemps standard. Je doute que ce soit faux. –

+0

Je ne suis pas familier avec Spring ou OpenId, mais je doute que GWT affiche ceci à l'URL correcte. Vérifiez avec FireBug où votre requête POST va et ce qui est réellement envoyé. – Drejc

Questions connexes