身份验证要求:N UserNames - 1 ExternalID

时间:2015-02-27 16:19:42

标签: genexus genexus-sd genexus-gam

我已经为我的SmartDevices项目实施了GAM(外部身份验证),该项目使用“动态URL”(在GeneXus中)。

我刚收到一条新要求: - 在默认(演示)环境中,应用程序必须接受任何用户名/密码组合,并为其指定外部ID“200”(此号码将在应用程序中用于检索DEMO帐户的数据)。

在我的演示环境中,使用GamHome,我将“外部web服务”更改为始终返回“1”(用户和密码ok)和“200”(外部ID)。 当我运行应用程序并尝试使用任何随机用户名进行身份验证时,我收到消息:“用户的外部标识已经存在”(类似的内容)。

我是否可以更改Authentication WebService,以便:

  • 允许多个用户名共享相同的外部标识?
  • 替换LoginExternal方法(设备)提供的用户名,以确保唯一的“ID - 用户名”?
  • 取消登录程序,并使用固定用户自动创建新程序?

还有其他建议吗?

(我想仅更改服务以避免更改应用程序,如果可能的话)。

(这仅适用于我们的演示环境 - 在实时环境中,每个用户都有自己的ID,并且会经过适当的身份验证。)

1 个答案:

答案 0 :(得分:0)

外部ID必须是唯一的。 对于演示环境,您只需使用固定的用户和密码登录(无论用户输入的凭据如何)。在这种情况下,您可以提供一些在演示模式下按设备过滤数据的机制,以确保多个演示用户获得正确的体验。