4

サービス スタックを使用して、すぐに使用できる認証を使用していましたが、うまく機能します。そのため、現在、ServiceStack の例から抜粋した次のコード行を使用して、ユーザーをモックアップしています。

            var userRep = new InMemoryAuthRepository();
            container.Register<IUserAuthRepository>(userRep);
            string hash;
            string salt;
            new SaltedHash().GetHashAndSaltString("test", out hash, out salt);
            userRep.CreateUserAuth(new UserAuth
            {
                Id = 1,
                DisplayName = "DisplayName",
                Email = "as@if.com",
                UserName = "john",
                FirstName = "FirstName",
                LastName = "LastName",
                PasswordHash = hash,
                Salt = salt,
            }, "test");

userRep でフィールドを定義できる方法はありますか? たとえば、フィールド portalid と UserAuth オブジェクトの一部が必要だとしましょう。どうすればこれを行うことができますか?InMemoryAuthRepository クラスを変更することはできますか?

4

1 に答える 1

0

ServiceStack の組み込み UserAuth DTO のスキーマを変更することはできませんが、この回答で詳細に説明されているいくつかの拡張ポイントを提供します。ここでは、RefIdおよびフィールドを使用しRefIdStrて独自のカスタム テーブルを参照したり、UserAuth にメタデータを追加したりできます。コレクションにメタデータを追加することで行を作成しDictionary<string,string> Metaます。

于 2013-01-30T19:30:06.320 に答える