2011-10-31 4 views
0

Windows 인증을 사용하는 SQL Server 2008을 사용하는 데이터베이스에 C# 응용 프로그램과 연결을 사용하고 있습니다. 데이터베이스에 대해 여러 사용자를 만들었지 만 응용 프로그램 수준에서 사용하는 방법을 이해할 수 없습니다. 내 목표는 모든 PC 에이 응용 프로그램을 설치하고 그가 SQL 관리 스튜디오를 설치하려고하면 사용자가 데이터베이스에 액세스 할 수 있도록합니다.SQL Server 데이터베이스 보안 응용 프로그램 수준?

누군가가 설명하고 싶거나 내가하고 싶은 것을 이해하기 위해 참고할 수 있습니까?

답변

1

당신은 몇 가지 옵션을 가지고있는 사용자가 앱없이 DB에 액세스 할 수 있는지 확인하려면 :

  • 구현 "가상 사용자"
    이것은 당신이 당신의 자신의 사용자 관리를 구현하는 의미와 앱 사용자를위한 실제 DB 사용자를 만들지 않고 자신의 구조에 "가상 사용자"만 만들면 ... 사용자가 알지 못하는 DB 액세스에 일반 앱 사용자가 사용됩니다. 앱 사용자는 ' DB 사용자는 자신의 사용자/pw로 직접 DB에 액세스 할 수 없습니다.


  • 이것은 실제 사용자를 만드는 것입니다.하지만 앱만 앱 사용자를 만들 수 있습니다 ... 사용자가 생성되거나 설정하지 않은 비밀번호를 변경하면 앱 사용자 만 만들 수 있습니다. 사용자 DB 비밀 번호하지만 다른 암호를 생성하고 DB 수준에서 설정하는 몇 가지 계산 (예 : 해시) 계산을 사용하여 ... 귀하의 애플 리케이션 계산을 알고 있으므로 사용자가 귀하의 응용 프로그램에 로그인 계산을 사용하고 DB에 로그인하는 결과 ... 실제 데이터베이스 사용자는 DB에 직접 로그인 할 수 없습니다. 왜냐하면 그들이 아는 비밀번호 (앱과 함께 사용할 때만 작동합니다)는 DB가 아는 비밀번호가 아니기 때문에 ...

위의 내용 중 아무 것도 .NET 응용 프로그램을 항상 디 컴파일/리버스 엔지니어링 할 수 있으므로 100 % 안전하지 않습니다. 위의 내용은 "일반 사용자"가 DB에 직접 액세스하는 것을 차단할만큼 충분하지만 ...

관련 문제