Проблема, которая появилась, состоит в том, чтобы открыть наше приложение (мы можем представить его немного похожим на онлайн-магазин) для незарегистрированных пользователей.
На данный момент существует административная система, в которой сотрудники добавляются суперпользователями, и веб-сайт с клиентами, которые добавляют себя путем регистрации.
Нас попросили разрешить клиентам использовать веб-сайт без регистрации или входа в систему, но мы не хотим ломать таблицу «заказов» - нам все равно нужно обращаться к каждому клиенту индивидуально и поддерживать функциональность зарегистрированных пользователей ( поиск адреса, история покупок и т. д.). Основная идея, которую мы обдумали, заключается в использовании адреса электронной почты незарегистрированного клиента в качестве замены суррогатного ключа (или его хеша) в таблице клиентов, чтобы новые и старые клиенты могли просто ввести свой адрес электронной почты при оформлении заказа, чтобы добавиться в нашу базу данных и получить подтверждение их заказа. Проблема разных адресов электронной почты для каждого клиента может быть устранена с помощью инструмента «слияния» на стороне администратора, и проблема, когда несколько клиентов используют один и тот же адрес электронной почты (в некоторых офисных средах), не является для нас большой проблемой.
Основной вопрос заключается в следующем: как реальные приложения обрабатывают незарегистрированных пользователей?
Обновление в ответ на ответы
Мы не хотим заставлять зарегистрированных пользователей регистрироваться каждый раз, даже если их адрес электронной почты уже есть в нашей системе как зарегистрированный пользователь. Кроме того, если люди выступают за использование адреса электронной почты в качестве ключа, как бы вы справились со сценарием, когда зарегистрированный владелец учетной записи передает свой адрес электронной почты кому-то еще?