2010-10-15 62 views
0

我目前正在桌面Flex應用程序的規劃/早期構建階段,該應用程序將與Web服務器上的Zend應用程序進行通信。桌面Flex應用程序登錄系統

flex應用程序基本上就像MVC模式的佈局/視圖一樣,它會向各種控制器操作發出請求,並以有意義的方式顯示返回的數據,併發布將更新各種數據的數據數據庫在服務器上。

基本上我想知道的是最好的方法是建立一個桌面應用程序的登錄系統。但願我是正確的假設,我不能使用,你會如果你的用戶是通過瀏覽器訪問應用程序的正規渠道,所以我想我會做到這一點:

  1. Flex應用程序的帖子登錄信息(電子郵件,密碼)登錄操作
  2. 登錄操作使用Zend Auth檢查細節是否有效
  3. 登錄操作創建一個唯一的哈希(並將其存儲在數據庫中,連同用戶的ID一起)以及將包含散列和用戶ID的json對象返回給flex應用程序
  4. 只要Flex應用程序向Web a中的任何操作發出請求pp,它還會發送用戶的ID和唯一散列,以便Web應用程序可以驗證用戶。

這是否有意義,還是我在這裏吠錯了樹?

讓我知道你的想法,以及是否有更好的解決方案,我應該看看。

謝謝!

回答

1

是的,它是有道理的,你在做什麼,我建立了一個類似的系統,但在這種情況下,我使用基本身份驗證,這樣,當我發送的HTTPService到服務器,包括我對哈希(令牌)頭。

我使用的是由他發給我一個令牌,當我做一個登錄動作同事建立了一個API。

,我送看起來像這樣的頭信息:

myHttpService.headers = {Authorization:"Basic " + encoderString}; 

的encoderString變量使用用戶名和令牌,當我登錄的服務器返回給我做,我用這些變量來創建encoderString :

var encoder:Base64Encoder = new Base64Encoder(); 
var encoderString:String;  

encoder.encode(login+":"+token); 
encoderString=Basics.encoder.toString(); 
1

查找到Apache Shiro,這是一個非常酷的,簡單易用,需要極少的依賴性,很少配置安全庫,並且不給一個叱你是否正在構建一個老同學的HTML應用程序時,Flex豐富的CLI ent web應用程序或桌面Flex/AIR(甚至Swing)應用程序。

相關問題