2016-06-20 109 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我改進了我的回答 –

相關問題