您是否將所有登錄,帳戶創建,密碼恢復等內容整合到您的Flex應用程序中,還是將所有內容保留在網頁中,並且只有在成功登錄時才重定向到.swf?您如何在Flex應用程序中進行身份驗證?
回答
我們在一個非常複雜的應用程序的Flex中完成所有工作,沒有理由轉移到HTML。由於如果您使用AMF,Flex會將HTTP(無狀態)傳遞給後端,您仍然需要Flex中的會話支持。
我接近完成了一個具有Drupal後端的中型flex應用程序。我通過AMFPHP使用RemotObjects與drupal進行所有登錄和驗證例程。我唯一重定向到HTML的是實際的新用戶註冊。但事先知道Drupal,Flex和AMFPHP在一起玩得非常好,這一切都讓決策更容易!
在flash中通過http(一個普通的網絡服務器)與服務器通信非常容易。如果你沒有和服務器進行大量的數據交換,AMF可能會過度殺傷,而JSON,XML或你自己的格式就足夠了。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLRequest.html
編輯:我mean't說閃光燈,不能彎曲。
我們在HTML/JavaScript中執行登錄頁面並使用AJAX服務調用。我們永遠不會觸摸我們的Flex .swf代碼,直到用戶成功通過身份驗證。此頁面也是我們驗證Flash播放器是否存在的地方,以及是否有足夠的版本來運行我們的Flex代碼。
在服務器端,我們使用的是Tomcat,BlazeDS和Spring-Framework。我們有Spring控制器,將任何未經身份驗證的訪問嘗試 - BlazeDS遠程調用等 - 轉移到登錄頁面。我們使用Spring安全性來管理身份驗證和用戶角色權限(以前稱爲Acegi安全性,但它已合併爲Spring傘下)。
我們曾嘗試在Flex中做一個登錄頁面,但由於一些奇怪的焦點錯誤而放棄了。我們無法始終將注意力集中在登錄憑證編輯字段中。論壇揭示了首次訪問Flex表單時存在的一個焦點問題。
對於用戶登錄體驗,我們絕對想確保重點表現良好。第一印象是持久的印象。
我們做事的方式,是
1)Flex的前端通過遠程對象談論到Java門面上的Web服務器。
爪哇:
public class AdminServer {
//injected into contr..
private final LdapService ldapService;
public UserDisplay authenticate(String username, String password) {
return ldapService.authenticate(username,password);
}
}
2)LDAP驗證和異常處理
化java然後使得經由委託方法(左出到LDAP服務器的呼叫),則UserDisplay對象是填充並始終返回,狀態代表成功/失敗/異常,以及用戶的身份驗證級別。你可以用你喜歡的方式做到這一點。
3)然後,我們暴露AdminServer中作爲彈簧/配置的柔性目的地爲:
重要的是,目的地= 「AdminServer中」(下面)匹配spring配置中的bean id(上面)。
4)在Flex代碼: ..
5)使用AMFSecureChannel 爲了防止密碼以明文發送從flex-> Java中,你也需要在Flex配置文件中使用AMFSecure通道,方法是將其設置爲默認值。
6)使用LDAP證書和密鑰庫,以確保通訊科Java的> LDAP
的Java的東西應該有LDAP證書用於其加密,這對我們來說意味着配置密鑰庫(請參閱Java密鑰工具),以便進口下列服務器(Tomcat)的上的文件:
- 根信任
- 簽署我們的密鑰對證書的頂級證書
- 我們生成的密鑰對,我們通過(2)發送簽名。
如果不遵守這一命令,你就無法導入公鑰/私鑰
7)的密鑰存儲文件
此文件被放在〜/的.keystore的位置自動被tomcat拾起。您的服務器可能會有所不同。
8)使用Web服務器安全端口 最後,我們不得不取消註釋在server.xml配置Tomcat的HTTPS允許安全通道口上工作8443
然後,我們可以輸入: https://www.oursite.com:8443/ourcontext/login.html
並且一路獲得安全通信。
- 1. ASP.NET應用程序未使用Windows身份驗證進行身份驗證
- 2. 如何在我的web應用程序中使用kentor身份驗證服務進行身份驗證
- 3. 在移動應用程序中進行身份驗證
- 4. 應用程序未在畫布中進行身份驗證
- 5. Wordpress如何在現有應用程序中對用戶進行身份驗證?
- 6. 如何在Rails應用程序中使用httparty進行基本身份驗證?
- 7. Flex應用程序中的Windows身份驗證
- 8. 如何在Silverlight Web應用程序中進行表單身份驗證?
- 9. 如何在c#windows應用程序中進行身份驗證和授權?
- 10. 如何進行身份驗證在
- 11. java web應用程序使用adfs 2.0進行身份驗證
- 12. 如何獲取基於PhoneGap的應用程序以對ASP.NET Forms身份驗證後端進行身份驗證?
- 13. 如何驗證Worklight 5.0.5上的應用程序身份驗證
- 14. 如何在Windows應用程序中使用Windows身份驗證?
- 15. 跨多個應用程序進行身份驗證
- 16. Tomcat應用程序管理器不會進行身份驗證
- 17. vimeo o通過iPhone應用程序進行身份驗證
- 18. SSO/Joomla和Flex應用程序之間的身份驗證!
- 19. 來自Flex應用程序的Spring身份驗證幫助
- 20. 用asp.net進行Azure AD身份驗證身份驗證
- 21. 如何在Zapier的應用程序中設置身份驗證?
- 22. ASP.NET應用程序在Firefox中進行身份驗證,但不在IE中
- 23. 如何使用Oracle身份管理器進行身份驗證?
- 24. Google應用程序域(身份驗證)
- 25. 谷歌應用程序身份驗證
- 26. 身份驗證facebook應用程序
- 27. 應用程序身份驗證密鑰
- 28. 應用程序身份驗證刷新
- 29. 如何進行websocket身份驗證?
- 30. 如何使用Dropbox API從桌面應用程序進行身份驗證?
爲什麼AMF「矯枉過正」?你發送一個對象,你得到一個對象,很簡單。在我所見過的所有基準測試中,效率更高,速度更快。 – Mifune 2013-02-06 19:13:40