IGeekFan.AspNetCore.DataProtection.FreeSql
包定位
将 ASP.NET Core Data Protection 密钥持久化到关系型数据库,适合需要审计、备份和统一数据库运维体系的场景。
典型场景
- 企业内网统一数据库治理
- 需要对密钥记录进行备份和审计
- 不希望额外引入 Redis 组件
安装
dotnet add package IGeekFan.AspNetCore.DataProtection.FreeSql
最小配置
using FreeSql;
using Microsoft.AspNetCore.DataProtection;
var builder = WebApplication.CreateBuilder(args);
var fsql = new FreeSqlBuilder()
.UseConnectionString(DataType.MySql, builder.Configuration.GetConnectionString("Default"))
.Build();
builder.Services
.AddDataProtection()
.SetApplicationName("SampleApp")
.PersistKeysToFreeSql(fsql);
配置示例
{
"ConnectionStrings": {
"Default": "Server=127.0.0.1;Port=3306;Database=app;Uid=root;Pwd=***;"
}
}
运维建议
- 数据库账号最小权限化,只授权必要表操作。
- 配置定期备份策略,保证灾备恢复能力。
- 与认证 Cookie 过期策略协同设计,避免频繁失效。