2016-07-29 78 views
2

我有一個C#Winforms應用程序,我正在移植到ASP.NET。一切正常,但與我的Universe數據庫的連接目前使用我的個人名稱和密碼。相反,我想獲取用戶的名稱和密碼。如何提示輸入連接字符串的用戶名和密碼?

web.config添加以下到connectionStrings

<add name="U2Connection" connectionString="Database=MY_DB;User ID=myuserid; 
Password=mypassword;Server=MY_SERVER;ServerType=UNIVERSE;AccessMode=Native; 
RpcServiceType=uvcs" providerName="U2.Data.Client" /> 

,並在我的課,我有以下幾點:

public static U2Connection GetU2ConWebConfig() 
{ 
     string conn_str = ConfigurationManager.ConnectionStrings["U2Connection"].ToString(); 
     U2Connection con = new U2Connection(); 
     con.ConnectionString = conn_str; 
     con.Open(); 

     return con; 
} 

我如何可以提示當前用戶爲他們的宇宙的用戶名/密碼,將它傳遞給連接字符串?我知道我可以在.cshtml頁面上創建2個文本框,並將它與其餘的表單數據一起傳遞,但有沒有更好或更安全的方法?使用String.Format()

<add name="U2Connection" connectionString="Database=MY_DB;User ID={0};Password={1};Server=MY_SERVER;ServerType=UNIVERSE;AccessMode=Native;RpcServiceType=uvcs" providerName="U2.Data.Client" /> 

然後,你可以通過它的用戶名和密碼:

+0

窗體表單應用程序如何驗證用戶?你在使用Active Directory嗎? – Win

+0

憑據存儲在Universe應用程序中,或者更可能在承載數據庫的服務器上(AIX或Unix或其他任何服務器,我不是100%確定的)。它不使用廣告。 –

回答

2

你可以改變你的連接字符串這樣

string userName = "User"; 
string password = "Password"; 
string connectionString = String.Format(ConfigurationManager.ConnectionStrings["U2Connection"].ConnectionString, userName, password); 

關於安全 - 我會建議使用HTTPS爲您的網站或至少爲用戶必須輸入其憑據的頁面。

+0

乾淨優雅。 – Waqar

+0

謝謝..我不確定這是否容易 –

相關問題