2011-08-03 6 views
0

SQL Server 2005 데이터베이스와 함께 작동하는 C# 응용 프로그램을 작성 중입니다. Windows 인증을 사용합니다.SQL Server 2005, 권한 유효성 검사

문제는 사용자가 데이터베이스에 저장된 정보에 따라 권한을 가져야한다는 것입니다.

F.e. 데이터베이스에있는 다른 프로젝트에 대한 정보를 저장합니다. 각 프로젝트에는 리더가 있고 각 프로젝트는 특정 필드에 속하며 각 필드에는 관리자가 있습니다. 그래서 일부 프로젝트를 시작한 사람은 해당 프로젝트 만 수정할 수 있어야합니다. 관리자는 프로젝트를 시작할 수도 있지만 여전히 다른 프로젝트를 수정할 수 없어야합니다. 이것은 선택, 업데이트 및 삽입의 여러 가지 경우에 적용됩니다.

저장 프로 시저 호출에서 권한을 확인하는 아이디어가 좋지 않습니다. 일부 클래스의 근로자에 ​​대한 권한이 변경되면 모두 다시 작성해야하기 때문입니다.

제 경우에는 액세스를 제어하는 ​​가장 좋은 방법은 무엇입니까?

답변

0

권한이 데이터을 기반으로한다는 사실을 해결할 수 없으므로 작업 전에 데이터를 확인해야합니다. 즉, 코드 어딘가에 있습니다. 는 "생성"PROC에서

  • 이/당신이 갱신 PROC /보기에서 현재 사용자가 관리자
  • 것을 확인해야 볼 수, 당신은 사용자가 열을 일치하는지 확인해야

이것은 단순화되었지만해야 할 일입니다.

저장 프로 시저의 경우 유지 관리가 쉽도록 몇 개의 위치에서 모든 검사를 중앙 집중화 할 권한을 검사하는 다른 저장 프로 시저를 호출 할 수 있습니다.

+0

더 나은 방법이 있기를 바랍니다. 감사. –