우리 팀에서 현재 개발중인 응용 프로그램에는 모든 데이터베이스 액세스를 수행하는 데 사용되는 DLL이 있습니다. 데이터베이스가 방화벽 뒤에 있고 도메인 서버가 아니기 때문에 응용 프로그램은 트러스트 된 연결을 사용할 수 없습니다. 따라서 연결 문자열에는 DB 사용자 이름과 암호가 필요합니다. DLL은 현재 하드 코딩 된 데이터베이스 연결 문자열을 가지고 있지만 어셈블리를 디스 어셈블 할 수 있고 사용자 이름과 암호가 열려있을 때 실행할 수 있기 때문에이 작업을 원하지 않습니다..NET DLL에 연결 문자열을 저장하는 가장 좋은 방법은 무엇입니까?
몇 가지 요구 사항 중 하나는 비밀번호를 몇 개월에 한 번씩 변경해야하므로 내부 사용자 기반으로 비밀번호를 변경해야한다는 것입니다.
암호를 저장하여 어셈블리에 저장하지 않고 전체 사용자에게 쉽게 배포 할 수있는 방법으로 암호를 저장하는 방법이 있습니까?
업데이트 : 답변 해 주신 모든 분들께 감사드립니다. 나는 몇 가지 질문에 대답하려고 노력할 것이다 ... 데이터 DLL은 ASP.NET WebForms와 VB.NET WinForms에서 모두 사용된다. 응용 프로그램은 자신의 구성 파일을 가질 수 있지만 DLL의 구성 파일에는 아무 것도 보지 못했습니다. 불행히도 직장에서 존 갤러 웨이 (Jon Galloway) 게시판에 올 수 없으므로 작동 여부를 판단 할 수 없습니다. 개발 관점에서 우리는 내부에서 웹 서비스를 사용하고 싶지는 않지만 내년에 제 3 자에게 웹 서비스를 제공 할 수 있습니다. 나는 우리가 방화벽을 통해 사용자를 인증 할 수 없기 때문에 가장이 효과가 있다고 생각하지 않습니다. 사용자 (또는 이전 사용자)가 공격자가 될 수 있으므로, 우리는 모든 사람으로부터 그것을 지켜 나가고 있습니다!
업데이트가 더 이상 아무 것도 가리 키지 않습니다. 참조한 정보를 찾아이 대답에 넣으면 그럴 것입니다. 모든 시간 동안 (또는 스택 오버플로가 태양에 흡수되면 바로) –
@JasonSperske - 링크를 업데이트했습니다. 나는 곧 요약 할 것이다. –