具有空密码的ServiceStack OrmLiteAuthRepository.UpdateUserAuth

时间:2013-09-10 20:25:08

标签: servicestack ormlite-servicestack

我不确定这是一个问题,还是我不知道OrmLiteAuthRepository应该如何工作的问题。我正在尝试创建一个管理员屏幕,允许管理员更新用户信息。我正在使用OrmLiteAuthRepository.UpdateUserAuth方法并传入一个空密码来更新除密码之外的所有内容。但是,验证运行就好像我正在创建一个新用户,而ValidateNewUser要求我有一个非空的密码,即使在方法中有进一步检查以避免在使用空密码时更新密码。我错过了什么?

以下是方法调用的链接

https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.ServiceInterface/Auth/OrmLiteAuthRepository.cs#L105

1 个答案:

答案 0 :(得分:3)

使用SaveUserAuth,我相信UpdateUserAuth用于更新密码,但可能是错误的。

UserAuth user = this.AuthRepository.GetUserAuth("bob")
 if (user.Meta == null)
 {
     user.Meta = new Dictionary<string, string>();
 }
 user.Meta.Add("message", "hi bob");
 this.AuthRepository.SaveUserAuth(user);