如何提示输入连接字符串的用户名和密码?
问题描述:
我有一个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" />
然后,你可以通过它的用户名和密码:
答
你可以改变你的连接字符串这样
string userName = "User";
string password = "Password";
string connectionString = String.Format(ConfigurationManager.ConnectionStrings["U2Connection"].ConnectionString, userName, password);
关于安全 - 我会建议使用HTTPS为您的网站或至少为用户必须输入其凭据的页面。
+0
干净优雅。 – Waqar
+0
谢谢..我不确定这是否容易 –
窗体表单应用程序如何验证用户?你在使用Active Directory吗? – Win
凭据存储在Universe应用程序中,或者更可能在承载数据库的服务器上(AIX或Unix或其他任何服务器,我不是100%确定的)。它不使用广告。 –