2013-05-21 199 views
0

想要檢查這種方法是否合理。乍一看,它似乎工作。Worklight身份驗證:多個領域

情景是我們有不同的用戶類,在驗證他們的憑證時我們可以確定他們的類。我們計劃建立一個「主」領域,管理認證和一些輔助領域,我們用它來控制對特定適配器程序的訪問,例如「黃金」。

然後我們可以用realm Master保護procedureOrdinary(),並使用realm保護procedureSpecial()。

在主身份驗證碼(從DoubleStepAdapter例子派生),我們可以寫

WL.Server.setActiveUser("Master", userIdentity); 
if (some criteria are met) 
    WL.Server.setActiveUser("Gold", userIdentity); 

我們從來沒有真正建立了黃金領域的一個挑戰處理機,身份驗證的境界是通過主境界處理。

這個想法的任何問題。

回答

2

技術上 - 它會工作。然而,這裏的重要假設是用戶在驗證之前不會嘗試訪問受「黃金」領域保護的程序。爲了克服這個問題,我建議採用以下方法 - 您需要爲每個領域定義登錄功能和註銷功能。確保所有的登錄函數都返回相同的JSON片斷(或者在所有領域中使用相同的登錄函數)。這種方式與觸發認證的領域無關 - 您將始終獲得與挑戰相同的JSON片段,並且您的應用程序知道如何處理它。

+0

所有的程序都受到安全測試的保護,其中首先包括Master領域,然後在必要時還包括Gold或Silver領域。因此,主認證應該首先發生,這將建立其他領域。我相信這會解決你的擔憂? – djna