我正在使用开箱即用的身份验证,使用服务堆栈,它运行良好。所以,现在,我正在使用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类吗?
答案 0 :(得分:0)
您无法更改ServiceStack's built-in UserAuth DTO的架构,但它确实提供了一些explained in detail in this answer的可扩展点,您可以使用RefId
和{{1}通过向RefIdStr
集合添加元数据来引用您自己的自定义表或在UserAuth行中添加元数据。