Как я могу запросить имя пользователя и пароль для строки подключения?
У меня есть приложение 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;
}
Как я могу запросить у текущего пользователя его имя / пароль Universe и передать его в строку подключения? Я знаю, что могу сделать 2 текстовых поля на странице.cshtml и передать их вместе с остальными данными формы, но есть ли лучший или более безопасный способ?
1 ответ
Вы можете изменить строку подключения следующим образом:
<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 для вашего сайта или хотя бы для страницы, где пользователь должен ввести свои учетные данные.