使用RavenDB数据存储区为ServiceStack实现身份验证提供程序需要什么?

时间:2012-09-08 10:26:50

标签: asp.net-mvc servicestack

我一直在关注ServiceStack的SocialBootstrapAPI示例应用程序,似乎大多数接线都是在AppHost类中完成的。那是布线。

看看这个页面,有一些线索,我可能只是开始编码,但我担心我可能会错过一些点:https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization

我知道我必须继承CredentialsAuthProvider并覆盖TryAuthenticate,但我想我还必须实现IUserAuthRepository才能使用RavenDB数据库。

所以我想出了一个课程,有人请告诉我这是否有效(如果有人以前做过):

public sealed class RavenDBAuthProvider : CredentialsAuthProvider, IUserAuthRepository

这还够吗还是还有别的吗?

1 个答案:

答案 0 :(得分:3)

您只需要实现IUserAuthRepository,这是所有内置Auth提供程序用来持久保存UserAuth信息的内容。

如果您想更改使用的数据模型,即使用UserAuth / UserOAuthProvider POCOs以外的其他内容,那么您也希望实现自己的AuthProviders。 CredentialsAuthProvider只允许标准的用户/密码表单身份验证。

现有的IUserAuthRepository实施应该是如何实施它的一个很好的参考:

如果您愿意,我们欢迎添加ServiceStack.Contrib项目,我们可以将其包含在ServiceStack的NuGet包的部署周期中。