0

想检查一下这种做法是否合理。乍一看,它似乎有效。

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

然后我们可以用领域 Master 保护 procedureOrdinary(),用领域 Gold 保护 procedureSpecial()。

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

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

我们从未真正为 Gold 领域设置挑战处理程序,该领域的身份验证是通过 Master 领域处理的。

这个想法的任何问题。

4

1 回答 1

2

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

于 2013-05-21T13:52:13.600 回答