Browse Source

docs: 删除根目录下的appsettings.README.md

test
hyh 3 months ago
parent
commit
85cecfb653
  1. 142
      appsettings.README.md

142
appsettings.README.md

@ -1,142 +0,0 @@
# 应用程序配置说明
## 配置文件结构
应用程序使用以下配置文件:
- `appsettings.json` - 基础配置文件
- `appsettings.Development.json` - 开发环境配置
- `appsettings.Production.json` - 生产环境配置
## 主要配置项说明
### 数据库配置
```json
{
"DatabaseOptions": {
"DefaultConnection": "Host=localhost;Port=5432;Database=cellularmanagement;Username=postgres;Password=your-password",
"CommandTimeout": 30,
"EnableDetailedErrors": true,
"EnableSensitiveDataLogging": true
}
}
```
### JWT配置
```json
{
"JwtOptions": {
"SecretKey": "your-512-bit-secret-key",
"Issuer": "CellularManagement",
"Audience": "CellularManagement.WebAPI",
"ExpiryMinutes": 15,
"RefreshTokenExpiryDays": 7,
"ClockSkewMinutes": 5,
"RequireHttpsMetadata": true,
"SaveToken": false,
"ValidateIssuer": true,
"ValidateAudience": true,
"ValidateLifetime": true,
"KeyRotationDays": 30,
"MinKeyLength": 64
}
}
```
### WebSocket配置
```json
{
"WebSocket": {
"Port": 5202,
"Path": "/ws"
}
}
```
### 认证配置
```json
{
"Auth": {
"MaxLoginAttempts": 5,
"LoginAttemptsWindowMinutes": 15,
"LoginAttemptsCacheKeyFormat": "LoginAttempts_{0}",
"DefaultUserRole": "User",
"AccessTokenExpirationMinutes": 60,
"RefreshTokenExpirationDays": 7
}
}
```
### 日志配置
```json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
```
### 主机配置
```json
{
"AllowedHosts": "*"
}
```
## 配置项说明
### DatabaseOptions
- `DefaultConnection`: PostgreSQL数据库连接字符串
- `CommandTimeout`: 数据库命令超时时间(秒)
- `EnableDetailedErrors`: 是否启用详细错误信息
- `EnableSensitiveDataLogging`: 是否启用敏感数据日志记录
### JwtOptions
- `SecretKey`: JWT签名密钥
- `Issuer`: 令牌发行者
- `Audience`: 令牌接收者
- `ExpiryMinutes`: 令牌过期时间(分钟)
- `RefreshTokenExpiryDays`: 刷新令牌过期时间(天)
- `ClockSkewMinutes`: 时钟偏差允许时间(分钟)
- `RequireHttpsMetadata`: 是否要求HTTPS元数据
- `SaveToken`: 是否保存令牌
- `ValidateIssuer`: 是否验证发行者
- `ValidateAudience`: 是否验证接收者
- `ValidateLifetime`: 是否验证生命周期
- `KeyRotationDays`: 密钥轮换周期(天)
- `MinKeyLength`: 最小密钥长度
### WebSocket
- `Port`: WebSocket服务端口
- `Path`: WebSocket连接路径
### Auth
- `MaxLoginAttempts`: 最大登录尝试次数
- `LoginAttemptsWindowMinutes`: 登录尝试窗口时间(分钟)
- `LoginAttemptsCacheKeyFormat`: 登录尝试缓存键格式
- `DefaultUserRole`: 默认用户角色
- `AccessTokenExpirationMinutes`: 访问令牌过期时间(分钟)
- `RefreshTokenExpirationDays`: 刷新令牌过期时间(天)
## 环境变量配置
以下环境变量可以在不同环境中覆盖配置文件中的设置:
- `ASPNETCORE_ENVIRONMENT` - 设置运行环境(Development/Production)
- `DatabaseOptions__DefaultConnection` - 数据库连接字符串
- `JwtOptions__SecretKey` - JWT密钥
- `WebSocket__Port` - WebSocket端口
- `Auth__MaxLoginAttempts` - 最大登录尝试次数
## 配置优先级
1. 环境变量
2. 命令行参数
3. 环境特定配置文件(appsettings.{Environment}.json)
4. 基础配置文件(appsettings.json)
## 安全注意事项
1. 生产环境中不要将敏感信息(如密钥、连接字符串)直接写入配置文件
2. 使用环境变量或安全的密钥管理服务来存储敏感信息
3. 确保配置文件不会被提交到版本控制系统
4. 定期轮换JWT密钥
5. 根据环境调整日志级别和敏感数据记录
Loading…
Cancel
Save