2010-08-27 127 views
0

我有通過BlazeDS連接到tomcat服務器的Flex/AIR應用程序。我沒有發現我必須集成一箇舊的Web應用程序(struts/jsp),並且我希望除了登錄,身份驗證和會話處理之外,不要改動這個web應用程序。也是使用httpclient的第三個Java應用程序。將非flex客戶端連接到運行blazeDS的服務器

目前我有一些blazeDS遠程對象來處理用幾個RPC調用登錄/註銷。接下來,創建並處理FlexSession對象。有沒有辦法使用httpclient和JavaScript來調用blazeds RPCs,所以我不必重新編碼,並有3種不同的方式來處理登錄和會話?

這應該爲3個應用程序使用single_sign_on。

回答

1

是的,處理一切不同我害怕!

你應該只使用BlazeDS來從AMF中解析Java對象。一旦完成,交給其他人來做你的業務邏輯。這意味着您可以通過爲業務邏輯提供API來添加不同的入口點。

從認證/登錄類型的東西,你應該使用像spring security這樣的事情來處理,而不是寫你自己的。這將這種類型的邏輯從業務邏輯和傳輸機制中分離出來,無論您如何訪問應用程序,都可以重複使用。

對於會話,它取決於你正在存儲的內容,但使用FlexSession通常不是一個好的計劃。

+0

所以你會說改變flex/blazeds的登錄/註銷部分以使用httpclient和某種類型的後端端點,然後使用blazeDS RPC進行其餘部分?這樣我可以重新使用httpclient/servlet(或其他)和會話處理其他類型的客戶端(瀏覽器/空氣/獨立應用程序)? – Nick 2010-08-27 15:44:16

+0

如果您使用Flex ChannelSet的登錄方法... http://livedocs.adobe.com/flex/3/langref/mx/messaging/ChannelSet.html#login() 這將最終擊中authenticationProvider你設置了Spring安全。所以你可以使用Flex RO的沒問題。 如果HTTP客戶端使用的是未經身份驗證的連接,它們最終會遇到同樣的事情。 – 2010-08-27 16:51:20

相關問題