跳到主要内容

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 过期策略协同设计,避免频繁失效。

相关文档