我一直在查看 ServiceStack 的 SocialBootstrapAPI 示例应用程序,似乎大部分接线都是在 AppHost 类内完成的。这就是接线。
看着这个页面,有一些线索,我可能会开始编码,但我担心我可能会错过一些要点:https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization
我知道我必须继承 CredentialsAuthProvider
并覆盖 TryAuthenticate
但我想我还必须实现 IUserAuthRepository 才能使用 RavenDB 数据库。
所以我只提出了一个类(class),请有人告诉我这是否可行(如果有人以前做过):
public sealed class RavenDBAuthProvider : CredentialsAuthProvider, IUserAuthRepository
这足够了还是还有其他什么?
最佳答案
您只需要实现IUserAuthRepository
,这是所有内置身份验证提供程序用来保存用户身份验证信息的方法。
如果您想更改使用的数据模型,即使用 UserAuth / UserOAuthProvider POCOs 以外的模型那么您也想实现自己的 AuthProviders。 CredentialsAuthProvider 仅允许标准用户/密码表单例份验证。
现有的 IUserAuthRepository
实现应该是关于如何实现它的一个很好的引用:
- MongoDBAuthRepository
- NHibernateUserAuthRepository
- RedisAuthRepository
- InMemoryAuthRepository
- OrmLiteAuthRepository
如果您愿意,我们欢迎添加 ServiceStack.Contrib项目,我们可以将其包含在 ServiceStack 的 NuGet 包的部署周期中。
关于asp.net-mvc - 使用 RavenDB 数据存储实现 ServiceStack 的身份验证提供程序需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12329919/