3

我有一个要移植到 ASP.NET 的 C# Winforms 应用程序。一切正常,但与我的 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;
}

如何提示当前用户输入他们的 Universe 用户名/密码并将其传递给连接字符串?我知道我可以在 .cshtml 页面上创建 2 个文本框并将其与表单数据的其余部分一起传递,但是有更好或更安全的方法吗?

4

1 回答 1

3

您可以像这样更改连接字符串:

<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.Format()

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

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

于 2016-07-29T17:36:51.300 回答