我将如何创建自己的IUserAuthRepository实现?

时间:2013-01-30 18:48:16

标签: servicestack authentication

我正在使用开箱即用的身份验证,使用服务堆栈,它运行良好。所以,现在,我正在使用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类吗?

1 个答案:

答案 0 :(得分:0)

您无法更改ServiceStack's built-in UserAuth DTO的架构,但它确实提供了一些explained in detail in this answer的可扩展点,您可以使用RefId和{{1}通过向RefIdStr集合添加元数据来引用您自己的自定义表或在UserAuth行中添加元数据。