Ibm mobilefirst Worklight身份验证:多领域

Ibm mobilefirst Worklight身份验证:多领域,ibm-mobilefirst,Ibm Mobilefirst,希望检查此方法是否合理。乍一看,这似乎奏效了 场景是,我们有不同的用户类别,在验证他们的凭据时,我们可以确定他们的类别。我们计划有一个管理身份验证的“主”域和一些用于控制对特定适配器过程的访问的辅助域,例如“Gold” 然后,我们可以使用领域主控保护procedureOrdinary(),使用领域黄金保护procedureSpecial() 在主身份验证代码(源自DoubleStepAdapter示例)中,我们可以编写 WL.Server.setActiveUser("Master", user

希望检查此方法是否合理。乍一看,这似乎奏效了

场景是,我们有不同的用户类别,在验证他们的凭据时,我们可以确定他们的类别。我们计划有一个管理身份验证的“主”域和一些用于控制对特定适配器过程的访问的辅助域,例如“Gold”

然后,我们可以使用领域主控保护procedureOrdinary(),使用领域黄金保护procedureSpecial()

在主身份验证代码(源自DoubleStepAdapter示例)中,我们可以编写

WL.Server.setActiveUser("Master", userIdentity);
if ( some criteria are met ) 
    WL.Server.setActiveUser("Gold", userIdentity);
实际上,我们从未为黄金领域设置过挑战处理程序,该领域的身份验证是通过主领域处理的


这个想法有任何问题。

从技术上讲,它会奏效的。然而,这里最大的假设是,在进行身份验证之前,用户永远不会尝试访问受“黄金”领域保护的过程。为了克服这个问题,我推荐以下方法——您需要为每个领域定义登录函数和注销函数。确保所有登录函数返回相同的JSON片段(或者在所有领域使用相同的登录函数)。通过这种方式,域触发的身份验证并不重要-您将始终获得与质询相同的JSON片段,并且您的应用程序知道如何处理它。

所有过程都通过安全测试进行保护,该测试首先包括主域,必要时包括金域或银域。因此,主身份验证应该首先发生,这将建立其他领域。我相信这会解决你的问题?