[英]Is connectionString secured from appsettings.json by using singleton pattern?
我正在使用 Singleton 模式從 appsettings.json 訪問連接字符串,因為我想從任何地方使用它。 這是訪問連接字符串的安全方法嗎?
以下代碼用於訪問它。
連接 class
public class Connection
{
public string LocalConnection { get; set; }
public string ServerConnection { get; set; }
}
Singleton圖案
public class ConnectionHelper
{
private static ConnectionHelper _connectionHelper;
private static string _connectionStrings;
public static ConnectionHelper GetInstance()
{
if (_connectionHelper != null) return _connectionHelper;
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
_connectionStrings = config.GetConnectionString(nameof(Connection.ServerConnection));
_connectionHelper = new ConnectionHelper();
return _connectionHelper;
}
public string GetConnection()
{
return _connectionStrings;
}
}
數據庫上下文 Class
public class DbContext
{
public DbContext()
: base(GetOptions())
{
}
private static DbContextOptions GetOptions()
{
var connectionStrings = ConnectionHelper.GetInstance();
var connection = connectionStrings.GetConnection();
var optionsBuilder = new DbContextOptionsBuilder<DbContext>();
optionsBuilder.UseSqlServer(connection);
return optionsBuilder.Options;
}
}
使用單例來存儲一些配置設置沒有錯,無論它是數據庫連接字符串還是其他東西。
憑據與服務器上的appsettings.json
文件一樣安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.