Я изучаю функцию авторизации ServiceStack и хочу использовать Couchbase в качестве хранилища данных. Я понимаю, что для Couchbase не существует реализации IUserAuthRepository, поэтому мне пришлось бы разработать свою собственную, что не является проблемой.
Проблема, с которой я сталкиваюсь, заключается в том, что если я сохраняю встроенный объект UserAuth как есть, CB использует поле Id в качестве идентификатора документа. Это проблема, потому что я считаю, что идентификатор должен быть специфичным для типа объекта, в противном случае потребуется отдельная «корзина» для предотвращения конфликта идентификаторов между разными объектами. Я действительно не хочу иметь много ведер, если мне не нужно.
Я бы предпочел, чтобы идентификатор документа был установлен в соответствии с типом объекта плюс конкретный идентификатор объекта.
например, с использованием идентификатора «UserAuth_1234» или имени пользователя «UserAuth_MikeGoldsmith»
Верно ли мое предположение о попытке повторно использовать ведро для различных объектов приложения, или я должен думать о ведре для каждого типа объекта / пространства имен?
Любые указания будут приветствоваться как от энтузиастов Couchbase, так и от ServiceStack.
Спасибо
Дополнительная информация
Хорошо, поэтому из ответа Джона я предполагаю, что мое дополнительное свойство для типа объекта является допустимым.
Я нашел это сообщение em>, где Mythz предлагает пример BootStrapApi. расширяет AuthUser
настраиваемыми свойствами. Однако мне кажется, что AuthUser
сохраняется дважды, сначала как AuthUser
, а затем как объект User
(оба раза с использованием OrmLiteAuthRepository
). Я прав?
По сути, я хочу использовать функцию аутентификации SS, но контролировать объект POCO, который будет сохранен в Couchbase. Может ли кто-нибудь дать какое-то направление, если это возможно, и если да, то что мне нужно реализовать / подключиться?
Я пробовал реализовать версию IUserAuthRepository
Couchbase, однако она использует конкретный тип UseAuth, поэтому я не могу использовать свой собственный объект.
Я также попытался подключиться к OnAuthenticated
методу AuthUserSession
, но на этом этапе UserAuth
POCO будет сохраняться с использованием регистра IUserAuthRepository
.
Я счастлив использовать CredentialsAuthProvider
, так как мне просто нужна аутентификация по имени пользователя и паролю. Больше можно будет добавить позже.
Спасибо еще раз!