2011-11-04 7 views
0

내 클라이언트 사이트에서 데이터베이스 사용자는 저장 프로 시저 만 실행할 수있는 권한이 있습니다.Entity Framework에서 보안 구현

데이터베이스 사용자에게 쿼리를 직접 실행할 수있는 권한이 없습니다.

그러나 Entity Framework를 사용하고 저장 프로 시저를 사용하지 않았습니다.

어떻게해야합니까?

답변

0

Entity Framework를 사용하면 각 엔터티를 삽입, 삭제 및 업데이트를 실행할 저장 프로 시저 집합에 매핑 할 수 있습니다.

그런 식으로 데이터베이스의 데이터를 수정할 때 사용자가 직접 쿼리를 실행할 필요가 없습니다.

사용자에게 선택 권한이없는 경우 데이터에 액세스하려면 저장 프로 시저가 필요합니다. EDMX의 SSDL 부분에서 저장 프로 시저를 가져올 수 있고 그 저장 프로 시저를 ObjectContext의 함수에 매핑 할 수 있기 때문에 Entity Framework가 도움이 될 수 있습니다.

+0

어떻게하면됩니까? 전체 링크를 사용 하시겠습니까? –

1

그런 시나리오에서는 원시 SQL + ADO.NET을 직접 사용하는 것이 좋습니다. EF의 주력은 매핑, linq/ESQL 질의 및 로딩 전략에 있습니다. 저장 프로 시저로 제한되면 후자의 쿼리가 지원되지 않고 쿼리가없고로드 전략도 없습니다. 매핑은 계속 지원되지만 성능 비용이 발생하며 저장 프로 시저에 대한 엄격한 제한이 필요합니다.

관련 문제