Я разрабатываю мобильное приложение с сервисом Spring REST.
Согласно обсуждению от Если я буду использовать имя пользователя или идентификатор пользователя для ссылки на аутентифицированных пользователей в ASP.NET , я получилпункт ниже:
- Не используйте имя пользователя в качестве идентификатора, если вы не знаете об этом, например, имя пользователя не может быть изменено с тех пор
Я решилиспользуйте UUID в качестве PK на стороне сервера, в соответствии с обсуждением из Почему бы не предоставить первичный ключ , по некоторым причинам не рекомендуется открывать PK
- PK может отличатьсяоснованный на внутренней трансформации.Если он выставлен, интерактивный интерфейс тоже должен быть изменен.Это не соответствует принципу Open-Close.
Хорошо, поэтому здесь должен быть другой идентификатор для идентификации пользователя между клиентом и сервером.Я решил добавить еще один атрибут в таблицу пользователей, и этот атрибут может быть уникальным user_alias.Это то, что передается от клиента и сервера, чтобы сервер знал, какой это пользователь.Мне это не совсем удобно, потому что в одной таблице два разных идентификатора PK и user_alias.
Итак, возникает вопрос: это хорошая практика?Если нет, то какая практика лучше?