2010-12-03 1 views
1

저는 Entity Framework를 사용하고 있으며 많은 데이터베이스와 서버에서 동일한 모델을 사용하고 있습니다. 로그인 한 사용자를 기반으로 런타임에 연결 문자열을 설정하려고합니다. 현재 내 DomainService에서 CreateObjectContext()을 무시하고 거기에 연결 문자열을 설정하고 있습니다. 이것은 훌륭하게 작동하지만 보안 부족에 관심이 있습니다. 예를 들어 내 DomainService에서 새 Entity가 필요할 때마다 연결 문자열에서 전달하는 SetConnectionString()이라는 호출 메서드가 있습니다. 이 작업은 DomainContext (클라이언트 측)에서 수행됩니다. SQL 통합 보안을 사용하고 있기 때문에 누군가가 임상 시험에서 연결 문자열을 조작하고 사용 권한이없는 데이터베이스에 액세스 할 수 있다는 우려가 있습니다.Silverlight 보안 Entity Framework와의 연결 문자열을 동적으로 설정할 때의 보안

런타임시 사용할 도메인 엔터티에 대한 연결 문자열을 동적으로 설정하는 가장 안전한 방법은 무엇입니까?

프로젝트 ID 나 다른 정보를 전달한 경우 데이터베이스에서 데이터베이스 서비스 이름을 조회 할 수있는 데이터베이스 이름과 서버 설정이 있지만 동일한 문제로 다시 돌아올 수 있습니다. 이 정보를 쉽게 스푸핑 할 수 있습니다.

아이디어 ??

-Scott

답변

0

같은 보안 문제는 플래시 개발자가 직면 잘만 내 대답은 관련이 ...

(이 정말 안전한 클라이언트에서 "이"있는 데이터베이스 연결을 할 수있는 유일한 방법 사이드 코드)는 각 사용자가 데이터베이스의 데이터에 대한 읽기 전용 액세스 만하도록하는 것입니다.

알고 계시 겠지만 사용자가 서버로 다시 보내는 데이터를 모니터링/수정하지 못하게 할 수는 없습니다. 통신을 암호화하더라도 사용자는 간단한 코드 변환으로 인해 코드에 액세스 할 수 있으며 플래시의 경우 소스 코드에 액세스 할 수 있습니다.

나는 DB 개발자가 아니지만 자주 묻는 것처럼 보안 감사를하므로 다음과 같은 조언이 잘못 될 수는 있지만 Google 검색을 사용하면 사용자를 제한하기 위해보기를 사용할 수있는 것처럼 보입니다. 자격 증명 세트)을 특정 정보에 적용합니다.

되지 않은 경우,이 문서는 당신이 원하는 관련 보인다

http://technet.microsoft.com/en-us/library/cc966395.aspx

0

무엇 ASP.NET 회원 프레임 워크를 사용하는 방법에 대해? 프레임 워크에서 로그인 호출로 사용자 로그인을 연결하여 사용자에게 권한이 부여 된 사용자인지 확인하십시오. 도메인 서비스에서 보호하려는 각 기능에 "RequiresAuthentication"속성을 추가하십시오.

Silverlight에서 ASP.NET 멤버십을 사용하는 방법에 대한 자세한 내용은 WCF RIA Services - Authentication, Roles, and Profiles

입니다.