Если вы используете идентификатор пользователя как способ, позволяющий пользователю делать что-либо с вашим сервисом, если один пользователь «угадывает» идентификатор пользователя другого, он сможет делать все, что захочет, с его учетной записью.
У вас нет другого пароля или чего-либо подобного?
Ну, в таком случае вам нужно что-то совершенно уникальное, не так ли ;-)
(Надеюсь, я хорошо понял вопрос - но это может быть не так - извините, если это не так)
Что вы думаете об использовании Глобального уникального идентификатора (как, например, 61350955-9755-4AF3-8C19-6DBC42CA69E2
) для ваших пользователей?
Для примера того, как они выглядят, взгляните на http://createguid.com/
В качестве идентификатора, этот GUID довольно длинный; это означает, что в вашей БД много байтов, если у вас миллионы пользователей ... Так что, вероятно, его не следует использовать в качестве какого-либо первичного / внешнего ключа.
Как насчет использования наименьшего возможного целого числа (которое соответствует количеству пользователей, которое у вас будет) в качестве первичного / внешнего ключа, так как оно будет дублироваться во многих местах приложения; и только "длинный идентификатор пользователя" хранится только один раз в вашей пользовательской таблице?