2010-03-03 47 views
1

好吧,它很簡單,基本上我想遵循GWT的「單頁」範例,但將Spring安全性集成到應用程序中。 我的理解是,如果在系統中找不到cookie,spring會將用戶重定向到一個Open id referrer頁面,要求登錄,否則它只會向我的服務器發送用戶的open url 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爲空。我應該怎麼做呢? GWT 1.5沒有一個簡單的表單(一個確實刷新提交頁面)和一個類型爲submit的輸入標籤。 我必須將此代碼硬編碼到HTML小部件中嗎? 我嘗試設置另一個框架作爲這個表單面板的目標,但仍然無法獲得任何有成效的結果。

回答

0

至於我可以告訴你,沒有設置正確的上傳網址:

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」作爲我的表格的行動是不正確的?它是一個標準的春季安全目標網址。我懷疑它是錯的。 – 2010-03-03 12:28:00

+0

我對Spring或OpenId並不熟悉,但我懷疑GWT是否將其發佈到正確的URL。用FireBug檢查你的POST請求的內容以及實際發送的內容。 – Drejc 2010-03-03 17:20:09

相關問題