2016-07-29 3 views
2

ASP.NET에 포팅하는 C# Winforms 앱이 있습니다. 모두 작동하지만 유니버스 데이터베이스에 연결하면 현재 내 개인 이름과 암호가 사용됩니다. 대신, 나는 사용자의 이름과 암호를 얻고 싶습니다. web.config에서연결 문자열에 대한 사용자 이름과 암호를 묻는 메시지를 표시하려면 어떻게합니까?

추가 다음 connectionStrings에 :

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

     return con; 
} 
내가 그들의 우주의 사용자 이름/암호를 현재 사용자에게 메시지를 어떻게

과 :

<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" /> 

내 수업 시간에, 나는 다음이 연결 문자열에 건네 줘? .cshtml 페이지에서 2 개의 텍스트 상자를 만들고 나머지 양식 데이터와 함께 전달할 수 있다는 것을 알고 있지만 더 좋거나 더 안전한 방법이 있습니까?

+0

Window Form 응용 프로그램은 사용자를 어떻게 인증합니까? Active Directory를 사용하고 있습니까? – Win

+0

자격 증명은 유니버스 응용 프로그램에 저장되거나 데이터베이스를 호스팅하는 서버 (AIX 또는 Unix 또는 무엇이든지간에 100 % 확실하지 않음)에 저장됩니다. 광고를 사용하지 않습니다. –

답변

2

이 같은 연결 문자열을 변경할 수 있습니다 :

<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를 사용하는 것이 좋습니다 것입니다 귀하의 웹 사이트 또는 적어도 사용자가 자격 증명을 입력해야하는 페이지에 대한.

+0

깨끗하고 우아한. – Waqar

+0

고마워 .. 그게 쉬운 일인지 잘 모르겠다. –

관련 문제