2009-04-13 2 views
6

ADO.NET 데이터 서비스를 보호하는 가장 좋은 방법은 무엇입니까? 누구든지 프로덕션 환경에서 이것을 사용 했습니까? 그렇다면 어떤 보안 옵션을 사용 했습니까?ADO.NET 데이터 서비스의 배포

답변

2

여기에 blog entry은 ADO .NET 데이터 서비스 보안 방법을 자세히 설명합니다.

0

개별적인 쿼리 유형이나 서비스 전체를 보호하겠습니까? 전체 서비스가 있다면 Windows 인증과 같은 보안의 표준 IIS 방법을 사용할 수 있습니다. 웹 서비스가 서비스를 사용하는 제어 된 Windows 환경에서 단일 도메인 ID를 상자간에 권한있는 사용자로 설정할 수 있습니다. 물론 SSL을 사용하여 데이터를 암호화하는 것이 안전합니다.

1

@tbreffni는 좋은 블로그 항목을 게시합니다. ADO.NET 데이터 서비스 내의 엔티티 외에도 엔티티 액세스 규칙을 설정하여 기본 엔티티 데이터 모델의 여러 엔티티에 대한 액세스가 제공되는 방식을 제어합니다.

다음과 같이 코드를 가정 :

public class Northwind : DataService<NorthwindEntities> 
{ 
    public static void InitializeService(IDataServiceConfiguration 
                config) 
    { 
     config.SetEntitySetAccessRule("*", EntitySetRights.All); 
    } 
} 

SetEntitySetAccessRule 방법을 사용하여 전체 개체 모델하거나 특정 엔티티 세트 중 하나를 참조 할 수 있습니다 다음 EntitySetRights 열거에 따라 권한을 정의합니다. 다음 값은 열거 형에 있습니다.

없음 데이터에 액세스하는 모든 권한을 거부합니다.

ReadSingle 단일 데이터 항목을 읽을 수있는 권한.

읽기 복수 데이터 세트 읽기 권한.

WriteAppend 데이터 세트에 새 데이터 항목을 만들 수있는 인증.

WriteReplace 데이터를 대체하는 인증.

WriteDelete 데이터 세트에서 데이터 항목을 삭제할 권한.

WriteMerge 데이터를 병합 할 수있는 인증.

모두 읽기 데이터 읽기 권한.

AllWrite 데이터 쓰기 권한.

모두 데이터 작성, 읽기, 업데이트 및 삭제 권한.

Microsoft ADO.NET Services를 사용하는 연습에서는이 프로세스 here을 살펴 봅니다. EntitySetRights 열거 형은 here으로 기록되어 있습니다.