[英]HTTP Header on server side
我們已經建立了一個ASP WEB api。 認證由HMAC在Authorization標頭中完成。 在服務器端,我們檢查HMAC代碼,如果該代碼有效,則請求將繼續處理資源。 我們的項目結構由多層組成。
在businessLogic中,我們有一個LINQ to SQL連接。 此連接字符串是動態的,位於API層中。 將連接字符串傳遞給businessLogic的最佳方法是什么? 我們想到了在連接字符串中添加額外的標頭的想法。 然后,通過System.Web.HttpContext.Current.Request.headers獲得特定的標頭。 這有效,但是安全嗎?
您應該對我更清楚一點,因為您的問題對我而言並不完全有意義。
“此連接字符串是動態的,位於API層中”
您是說將其存儲在Web API項目的web.config / app.config中的某個位置嗎?
“將連接字符串傳遞給businessLogic的最佳方法是什么?”
您是否要將其從Web API項目傳遞到“ businessLogic”項目的類? 我建議您從業務邏輯的appSettings中獲取它(將繼承您的Web Api項目之一)。
ConfigurationManager.ConnectionStrings["Your_Connection_String_Name_Here"]
我會將您的應用程序設置抽象到一個單獨的類(+接口)中,以便更輕松地模擬單元測試。
例如:
public interface IGetAppSettings
{
NameValueCollection GetAll { get; }
string MyConnectionString { get; }
}
public class MyAppSettings : IGetAppSettings
{
public NameValueCollection GetAll
{
get { return ConfigurationManager.AppSettings; }
}
public string MyConnectionString
{
get
{
var value = ConfigurationManager.ConnectionStrings["MyConnectionString"];
return value.ToString();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.