如何提示输入连接字符串的用户名和密码?

问题描述:

我有一个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%确定的)。它不使用广告。 –

你可以改变你的连接字符串这样

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

关于安全 - 我会建议使用HTTPS为您的网站或至少为用户必须输入其凭据的页面。

+0

干净优雅。 – Waqar

+0

谢谢..我不确定这是否容易 –