在 Mongo 中 ASP.NET 身份存储用户数据(托管在 Heroku 上)



我目前正在开发一个使用 Mongo 作为后端的 ASP.Net Web 应用程序。我已经看到其他人尝试过这个,并更改了我的 Web.config 中的连接字符串,以指向我在 Heroku 上的 Mongo 实例。我的连接字符串格式如下:

mongodb://username:password@server.mlab.com:port/database

在创建新的 ASP.Net MVC 项目(选择了单个帐户(后构建的控制器和模型尚未编辑。我无法创建新帐户或使用通过Mongo创建的帐户登录。我还收到以下错误:

初始化字符串的格式不符合规范 从索引 0 开始。

我的研究表明,这通常是由于连接字符串格式不正确造成的。我已经双重和三重检查了我的 Mongo 连接字符串,但它看起来是正确的。我错过了什么吗?

任何帮助不胜感激!

---------------------------------------------

编辑

我注意到连接字符串中有providerName="System.Data.SqlClient"。删除此选项会产生不同的错误:

应用程序中的连接字符串"默认连接" 配置文件不包含所需的提供程序名称 属性。

如果您正在寻找支持 netstandard2.0 或 netcoreapp2.0 的 MongoDB 身份存储适配器,我最近发布了用于 Microsoft.AspNetCore.Identity 2.0 的 MongoDb UserStore 和 RoleStore 适配器。

它允许您在 Microsoft.AspNetCore.Identity 2.0 中使用 MongoDb 而不是 SQL Server:

https://github.com/alexandre-spieser/AspNetCore.Identity.MongoDbCore

我已经实现了RoleStore和UserStore。

完全涵盖来自修改后的Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test 测试套件的集成测试和单元测试。

希望这有帮助。

默认 Asp.Net 标识存储提供程序正在使用适用于关系数据库的实体框架。MongoDB是一个文档数据库,仅更改连接字符串是行不通的。您需要使用可以与MongoDB一起使用的不同存储提供程序。

快速搜索显示,很少有存储提供商可以使用MongoDB:

  • https://github.com/maxiomtech/MongoDB.AspNet.Identity
  • https://github.com/g0t4/aspnet-identity-mongo
  • https://github.com/steentottrup/AspNet.Identity.MongoDB

我个人没有尝试过其中任何一个,但第一个似乎在 GitHub 上很受欢迎。

下面是MongoDB身份的所有可用身份管理器中的最新一个。我个人觉得这是另一个有前途的NuGet包,用于使用MongoDB的Identity。绝对值得一试。

https://www.nuget.org/packages/AspNetCore.Identity.Mongo/

GitHub.com

https://github.com/matteofabbri/AspNetCore.Identity.Mongo

相关内容

  • 没有找到相关文章

最新更新