2016-06-20 68 views
0

我正在Windows上使用Cassandra数据库构建ASP.NET Core MVC应用程序。使用Cassendra数据库实现ASP.NET Core身份验证

我需要使用Cassandra来实现ASP.NET Core Identity的帮助。

在Google上,我在版本2.0.0.1中发现了AspNet.Identity.Cassandra,但它与ASP.NET Core 1.0不兼容。

+1

你的问题或**具体**问题是什么?要求我们为你找到资源(指南,教程)或图书馆是无关紧要的。请在提问前阅读常见问题解答:http://stackoverflow.com/help/on-topic – Tseng

回答

0

几个选项

  1. 尝试实施ASP.net核心自己卡桑德拉的身份,有不少样本如何创建自己的自定义IdentityUser的ASP.net(使用谷歌),然后使其与卡桑德拉工作
  2. 叉/更新AspNet.Identity.Cassandra project到.NET的核心(开源的,所以使得很容易实现自己的)
  3. 使用其他供应商,而不是卡桑德拉数据库
  4. [R在github上eQUEST的更新(在第2节的链接)
1

我工作数据存储适配器上的ASP.NET Core Identity 它允许你建立核心ASP.NET Web应用程序,包括会员,登录和用户数据。借助这个库,您可以在Apache Cassandra上存储用户的会员相关数据。

请注意,图书馆是alpha版本,需要完成

如果你想尝试一下,请按照下列步骤操作:

1 - 从包管理器运行以下命令控制台安装Cassandra身份提供程序。

Install-Package AspNetCore.Identity.Cassandra -Version 1.0.0-alpha1 

2 - 添加设置appsettings.json

{ 
    "CassandraNodes": [ 
     "127.0.0.1" 
    ], 
    "CassandraOptions": { 
     "KeyspaceName": "identity", 
     "Replication": { 
      "class": "NetworkTopologyStrategy", 
      "datacenter1": "1" 
     } 
    } 
} 

3 - 在配置服务Startup.cs

public void ConfigureServices(IServiceCollection services) 
{  
    // CassandraOptions configuration 
    services.Configure<CassandraOptions>(Configuration.GetSection("CassandraOptions")); 

    // Cassandra ISession initialization 
    services.AddCassandraSession<Cassandra.ISession>(() => 
    { 
     var cluster = Cassandra.Cluster.Builder() 
      .AddContactPoints(Configuration.GetSection("CassandraNodes").GetChildren().Select(x => x.Value)) 
      .Build(); 
     var session = cluster.Connect(); 
     return session; 
    }); 

    // Added custom Cassandra stores 
    services.AddIdentity<ApplicationUser, ApplicationRole>() 
     .UseCassandraStores<Cassandra.ISession>() 
     .AddDefaultTokenProviders(); 

    // Other code omitted 
} 

4 - 最后,在程序初始化DB .cs

public static class Program 
{ 
    public static void Main(string[] args) 
    { 
     BuildWebHost(args).Run(); 
    } 

    public static IWebHost BuildWebHost(string[] args) => 
     WebHost.CreateDefaultBuilder(args) 
      .UseStartup<Startup>() 
      .Build() 
      .InitializeIdentityDb<ApplicationUser, ApplicationRole>(); 
} 

欲了解更多信息,请在github上检查project site

+0

尽管此链接可能会回答问题,但最好在此处包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17648534) –

+0

@ LW001我改进了我的回答 –

相关问题