Требование аутентификации: N UserNames - 1 ExternalID

Я реализовал GAM (внешнюю аутентификацию) для своего проекта SmartDevices, который использует "Динамический URL" (в GeneXus).

Я только что получил новое требование: - В стандартной (демонстрационной) среде приложение должно принять ЛЮБУЮ комбинацию имени пользователя и пароля и присвоить ему внешний идентификатор "200" (этот номер затем будет использоваться в приложении для извлечения данных для ДЕМО-аккаунт).

В моей демонстрационной среде, используя GamHome, я изменил "внешний веб-сервис", чтобы он всегда возвращал "1" (пользователь и пароль в порядке) и "200" (внешний идентификатор). Когда я запускаю приложение и пытаюсь пройти аутентификацию с любым случайным именем пользователя, я получаю сообщение: "Внешняя идентификация пользователя уже существует" (что-то в этом роде).

Могу ли я изменить аутентификацию WebService для того, чтобы:

  • Разрешить нескольким именам пользователей использовать один и тот же внешний идентификатор?
  • Замените имя пользователя, предоставленное методом LoginExternal (устройство), чтобы обеспечить уникальный "ID - Имя пользователя"?
  • Отменить процедуру входа в систему и создать новую, автоматическую, с фиксированным пользователем?

Любые другие предложения?

(Я бы хотел поменять сервис только во избежание смены приложений, если это возможно).

(Это требование только для нашей демонстрационной среды - в среде Live каждый пользователь будет иметь свой собственный идентификатор и будет надлежащим образом аутентифицирован).

1 ответ

Внешние идентификаторы должны быть уникальными. Для демонстрационной среды вы можете просто войти в систему всегда с фиксированным пользователем и паролем (независимо от учетных данных, введенных пользователем). В этом случае вы можете предоставить некоторые механизмы для фильтрации данных по устройству в демонстрационном режиме, чтобы гарантировать, что несколько пользователей демо-версии получат правильную работу.

Другие вопросы по тегам