2008-11-05 2 views
3

특정 사용자가 자신이 소속 된 회사를 기반으로 다른 데이터베이스에 액세스하는 하나의 데이터베이스 및 다른 사용자를 액세스하도록하는 것이 있습니다. 연결 문자열을 처리하고 사용자가 로그인 할 때 올바른 db에 연결하는 가장 좋은 방법은 무엇입니까?.NET - 사용자 및 다른 데이터베이스

어떤 아이디어 주셔서 감사합니다.

+0

ASP.Net을? 데스크톱? 양자 모두? –

답변

7

<connectionStrings> 
    <add name="ConnectionForDudes" providerName="System.Data.SqlClient" 
     connectionString="Data Source=___MALECONNECTIONHERE___"/> 
    <add name="ConnectionForChicks" providerName="System.Data.SqlClient" 
     connectionString="Data Source=___FEMALECONNECTIONHERE___"/> 
</connectionStrings> 

는 데이터베이스를 열려면 시간이되면, 당신은 당신의 연결 문자열이 방법으로 얻을 :

bool UserIsMale = true; 
string ConnectionStringName = "ConnectionFor" + UserIsMale ? "Dudes" : "Chicks"; 
string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString; 
3

각 사용자에 대한 연결 정보를 저장하는 데이터베이스 테이블이 있어야합니다. 아마도 Provider Model과 같은 것이 유용할까요?

+0

고마워, 여기 좋은 정보. –

6

동적 연결 문자열 작성기와 사용자 계정을 다른 데이터베이스에 매핑 한 마스터 데이터베이스를 사용합니다.

대신 모든 연결 문자열을 저장하는 대신 연결 문자열 작성기를 사용하여 마스터의 정보를 기반으로 필요한 연결을 작성합니다. 또한 Windows 인증을 사용하여 데이터베이스에 암호를 저장하지 않도록합니다. 의 Web.config 또는의 app.config에서

+0

이 추가 데이터를 포함하기 위해 role/accounts db에 여분의 열을 추가 할 수 있습니다. – MikeJ

관련 문제