2012-10-12 3 views

답변

1

꽤 개방적인 질문입니다. 예를 들어 웹 기반 또는 데스크톱 기반 응용 프로그램 인 경우 제외되었습니다.하지만 여기에는 몇 가지 생각이 있습니다.

몇 명의 사용자를 말하고 어떤 매출을 올렸습니까? 수천? 수백만? 십? 숫자 및/또는 매출액이 커지면 사용자 테이블이 더 좋아지고 좋아집니다. 아마존은 예를 들어 우리가 데이터베이스 서버에있는 사용자가 아니더라도 우리 자신의 장바구니를 만들 수 있습니다.

데이터베이스 수준 사용자가있는 회사의 내부 데이터베이스는 일반적으로 더 적합합니다. 따라서 응용 프로그램에서 전체 보안 하위 시스템을 정의하지 않아도되며 Microsoft 및 전 세계 수백만 명의 사용자가 이미 모든 취약점을 해결할 수 있습니다.

데이터베이스 내에서 사용자 테이블을 만드는 것이 훨씬 간단합니다. 그러나 비즈니스 규칙과 보안 하위 시스템에 많은 작업을해야합니다. (생성 된 언급 된 취약점 외에도)

한편 데이터베이스 사용자와 역할을 활용하는 것이 더 복잡 할 수 있습니다 (응용 프로그램 내에서 수행하는 경우). tsql, 시스템 저장 프로 시저, SMO 등에 익숙한 사람이 필요합니다.하지만 장기간에 걸쳐 역할, 사용자, 그룹, 권한 등을 훨씬 쉽게 관리 할 수 ​​있습니다. 필요한 경우 응용 프로그램 외부에서 모든 것을 관리 할 수있는 이점이 있습니다.

어쨌든 응용 프로그램이 연결 문자열을 사용하는 방법을 알아 내야 할 것입니다. 데이터베이스 레벨 사용자 라우트에는 각 사용자마다 고유 한 연결 문자열이 필요합니다. Windows 인증을 사용하여 도메인 계정을 사용할 계획이 아니라면 - 가능한 한 언제든지 가야 할 길은 제 의견으로는 입니다.

관련 문제