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 的架构,但它确实提供了一些可扩展点,这些点在此答案中进行了详细说明,您可以使用RefIdandRefIdStr字段来引用您自己的自定义表或在 UserAuth 中添加元数据通过将元数据添加到Dictionary<string,string> Meta集合中。

于 2013-01-30T19:30:06.320 回答