2010-03-02 4 views
1

기본 로그인 및 역할이있는 사용자 관리를위한 일반 공개 소스 데이터베이스 스키마를 찾고 있습니다.계층 적 사용자 및 역할에 대한 데이터베이스 스키마

사용자 : 클라이언트에 속한 사업 단위에 속합니다.

사업 단위는 클라이언트에 속하는 .. 사용자가 비즈니스 단위 및 여러 사업 단위에 따라 여러 역할을 할 수 있습니다 관리자, 지역 관리자, 사이트 관리자, 근로자 등 -

사용자 역할이있다. 비즈니스 단위는 다른 비즈니스 단위를 포함 할 수 있습니다 (지역에는 비즈니스 단위가 포함 된 다른 영역이 포함됨).

특징 : 시스템의 행동 개체를 설명합니다. 기능은 사용자, 역할 또는 둘 다에 할당되며 비즈니스 단위 및/또는 클라이언트는 시스템 내에서 활성화 된 기능을 갖습니다.

예를 들어 회계 시스템이라고하면 고객/사업 단위/역할/사용자가 사용중인 상태, 사용자가 보는 내용에 따라 채무, 채권, 보고서, 총계정 원장 등의 기능이 있다고합니다. 그 액티브 매트릭스 계층 구조입니다.

누구나 이러한 기본 요구 사항을 충족하는 유사한 스키마에 대한 참조를 갖고 있습니까? 보너스는 웹 기반 인터페이스 (사용자 로그인, 사용자, 지역, 역할 등에 대한 관리)를위한 코드가있는 경우 .Net C#을 선호하지만 번역 할 수 있습니다.

+0

외모 숙제 문제처럼. 이 문제를 해결하면 학위를받을 수 있습니까? – dar7yl

+1

definatly NOT 숙제, 그냥 몇 가지 디자인 생각에 단계를 얻으려고. 추신 : 나는 약 25 년 전에 CS 수업을 실제로 가르쳤다. :) –

답변

0

아니 정확히 당신이 찾고 있지만, 시작하는지 :

http://www.databaseanswers.org/data_models/user_identity_management/index.htm

당신이 ASP.NET 멤버를 살펴나요? .net 디렉토리에있는 모든 객체를 만드는 스크립트가 있습니다. Visual Studio에 기본값이있는 웹 사이트를 만들면 사용자를 관리 할 수있는 웹 사이트 관리 도구가 제공됩니다.

+0

글쎄, 그 시작, 다른 옵션을 그 라인을 따라 팝업을 볼 수 있습니다. 고맙습니다.아마이 둘의 조합은 내가 예상하는이 수준에서 많은 요구를 제공 할 것입니다. –

1

SQL 데이터베이스에서이 기능을 구현해야한다는 요구 사항이 얼마나 까다 롭습니까? 사용할 수있는 디자인이 많이 있지만, 기성품을 찾고 있다면 티에 대해 LDAP이라고 설명하고 있습니다. 프로토콜에 대해서만 설명 하겠지만 Apache Directory ServerOpenLDAP을 비롯한 다양한 오픈 소스 구현이 있습니다. 위키 피 디아에는 광범위한 list of LDAP software이 있습니다.

고려해야 할 사항입니다. 이것을 다른 SQL 데이터베이스와 긴밀하게 통합해야 할 경우 사용자를위한 참조 무결성을 적용하는 등의 작업을 수행 할 수는 없습니다. 그러나 일반적이고 확장 성있는 것을 찾고 있다면 이것이 갈 길이 될 것입니다. ASP.NET SQL Server Registration Tool에 의해 생성 된 것과 같은 대부분의 회원/역할 데이터베이스는 계층 구조가 아니므로, 느슨한 계층 구조는 다소 복잡하기 때문에 찾을 수 있습니다.

임의의 수의 비즈니스 단위를 중첩해야하는 경우 모든 규칙과 재정의를 관리하는 것은 간단한 작업이 아닙니다. 이것이 우리가 계층 적 디렉토리 프로토콜을 갖는 이유입니다.

(주 - 다음 Active Directory가 확실한 선택이 될 것입니다 마이크로 소프트 환경에서 이미 있다면,. 그것은 오픈 소스 아니지만, 아마 가장 강력하고 디렉토리 서버의 잘 지원의)

+0

SQL 풋 프린트와 관리를 실제로 찾고 있습니다. 이것은 제가 설명하는 것보다 훨씬 복잡하지만 시작 장소를 찾고 있습니다. 액세스는 중요하지만 계층 구조로 구성된 비즈니스 계층의 관리가 더 필요합니다. –

+0

불행하게도, 계층 구조를 관리하는 것은 데이터베이스 스키마를 만드는 것 이상의 의미가 있습니다. 계층 적 쿼리, 리포트, 규칙 등 모든 종류가 있습니다. 일반적으로 당신은 어떤 종류의 "상속"을 원합니다. 이것은 "기본"이외의 것입니다. 이것이 바로 이러한 기능을 수행하는 전체 시스템이있는 이유입니다. 만약 당신이 그것을 사용할 수 없다면, 당신은 이미 관계를 이해하는 것처럼 들리므로, 공통적 인 모델 중 하나 인 인접 목록, 중첩 세트, 구체화 된 경로, 또는'hierarchyid'를 사용하여 주요 계층 관계 (사업 단위)를 모델링하십시오. – Aaronaught

관련 문제