作为 ServiceStack 的一个非常基本的用户,我尝试尝试一下,但有几件事我似乎无法正确理解......
我使用此代码是为了使用 NHibernate 作为 ServiceStack 身份验证中的数据层:
https://gist.github.com/balexandre/f1217ae8e2a2b1045d47
我已经修改了一点CreateUserAuth
以在我自己的表中创建一个新用户(因为我确实需要更多的用户数据并且元数据选项还不够),我已经在第 201 行扩展到此代码:
https://gist.github.com/balexandre/f1217ae8e2a2b1045d47#file-customuserauthrepository-cs-L201
newUser
被发回,我确实需要获取 userId ( newUser.Id
),这样我就可以在我的表中创建一个具有与 UserAuth 相同的 userID 的新用户(以便在 CustomUserSession.cs 中正确保存/编辑并填充我的用户登录信息,如几个示例所示)。
如何获得正确的用户 ID?
我真的认为我可以将 UserAuth 对象附加到我的自定义用户(如(newLocalUser.UserAuthInfo
)),但我最终总是在数据库中拥有 User.Id == 0
并接听电话newUser.Id
,Session.Save(new UserAuthNHibernate(newUser))
总是0
如此。
你们如何将新生成的 UserAuth 的 UserId 附加到您自己的表中?或者您只是使用电子邮件地址?
原始问题可用Google Groups。