ServiceStack の Authorization 機能を調査しており、Couchbase をデータ ストアとして使用したいと考えています。Couchbase 用の IUserAuthRepository 実装がないことはわかっているので、独自に開発する必要がありますが、これは問題ではありません。
私が抱えている問題は、組み込みの UserAuth オブジェクトをそのまま保存すると、CB は Id フィールドをドキュメント識別子として使用することです。これは問題です。識別子はオブジェクト タイプ固有である必要があるためです。そうしないと、異なるオブジェクト間の ID の競合を防ぐために別の「バケット」が必要になります。必要がない限り、たくさんのバケツを持ちたくありません。
私の好みは、ドキュメントIDをオブジェクトのタイプとオブジェクト固有の識別子に設定することです。
例:ID「UserAuth_1234」またはユーザー名「UserAuth_MikeGoldsmith」を使用
異なるアプリケーション オブジェクトにバケットを再利用しようとする私の仮定は有効ですか、それともオブジェクト タイプ / 名前空間ごとのバケットについて考えるべきですか?
Couchbase と ServiceStack のどちらの愛好家からも、どんな方向性も歓迎されます。
ありがとう
追加情報
わかりましたので、ジョンの答えから、オブジェクトタイプの追加のプロパティが有効であると仮定します。
Mythz がBootStrapApiの例でカスタム プロパティを拡張することを提案しているこの投稿を見つけました。ただし、私には、が 2 回永続化されているように見えます。最初は として、再びオブジェクトとして (両方とも を使用しています)。私は正しいですか?AuthUser
AuthUser
AuthUser
User
OrmLiteAuthRepository
本質的には、SS 認証機能を利用したいのですが、Couchbase に保存される POCO オブジェクトを制御します。これが可能であれば誰かが指示を与えることができますか?もしそうなら、私は何を実装/フックする必要がありますか?
のCouchbaseバージョンを実装しようとしましたIUserAuthRepository
が、UseAuth具象型を使用しているため、独自のオブジェクトを使用できません。
OnAuthenticated
のメソッドにもフックしようとしましたAuthUserSession
が、この時点でUserAuth
POCO は register を使用して永続化されていますIUserAuthRepository
。
CredentialsAuthProvider
ユーザー名/パスワード認証が必要なだけなので、喜んで使用します。後でさらに追加することができます。
再度、感謝します!