2010-03-03 2 views
1

기본적으로 GWT의 "One Page"패러다임을 따르고 Spring 보안을 애플리케이션에 통합하려고합니다. 쿠키가 시스템에서 발견되지 않으면 스프링이 사용자를 Open id referrer 페이지로 리디렉션한다는 것을 이해합니다. 로그인을 요청하면 단순히 내 서버에 사용자의 열린 URL ID를 보냅니다.open id를 사용하여 Spring 보안을 GWT 프로젝트에 통합하는 방법

이 내가 GWT에 TRID 것입니다 :

 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()); 
      } 

     }); 

해당하는 출력 : 에는 내가받은 HTML가 null 알고있는 것처럼 에 완료 호출 된 널 (null)에게

제출 거짓 호출 제출합니다. 어떻게해야합니까? GWT 1.5에는 간단한 양식 (제출시 페이지를 실제로 새로 고치는 양식)과 제출 유형으로 입력 태그가 없습니다. 이것을 HTML 위젯에 하드 코딩해야합니까? 다른 프레임을이 양식 패널의 대상으로 설정하려고 시도했지만 결실을 맺지 못했습니다.

답변

0

지금까지 내가 올바른 업로드 URL 설정되지 않습니다 말할 수 :

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

명확히하십시오 당신이 내 양식의 작업으로 "j_spring_openid_security_check는"권리가 아님을 의미합니까? 그것의 표준 봄 보안 대상 URL 게시물. 나는 그 잘못을 의심한다. –

+0

저는 Spring이나 OpenId에 익숙하지 않지만, GWT가 이것을 올바른 URL에 게시하고 있는지 의심 스럽습니다. POST 요청이 들어가고 실제로 보내지는 곳을 FireBug로 확인하십시오. – Drejc

관련 문제