我正在为ASP.NET Core Identity 开发数据存储适配器
它允许您构建 ASP.NET Core 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 - 最后在 Program.cs
中初始化 DB
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。