2011-11-01 2 views
0

일반적인 방법으로 인증/권한 부여를하고 있지만 문제가 있습니다. 시스템의 일부 동작은 사용자 역할에 종속적이며 한 사용자는 둘 이상의 역할을 가질 수 있습니다.보안 스키마와 비즈니스 병합

사용자가 어떤 작업을 수행 할 수있을뿐만 아니라 각 사용자 역할별로 동작 자체가 변경되므로 각 역할과 관련된 많은 메타 데이터가 있으며 일관성을 유지하는 방법을 깨닫지 못합니다.

비즈니스와 보안을 병합하면 커플 링이 어려워지고 모든 것이 지저분 해집니다. 각 테이블을 별도로 작성하면 일부 엔티티가 두 배가되고 지저분 해집니다.

메타 데이터를 하나 개의 작은 부분은 다음과 같습니다 주니어는 하나 개의 고객을 위해 하나 개의 작업에 대한 기본적인 부분을 만들거나 기본 작업을 얻을 수 있습니다

한 고용하면 마스터 할 수있는 경우 동일한 고객

다른 주니어에 의해 시작 버려진 새로운 기본 부품을 만들고 한 고객의 모든 후배가 만든 건물을 수정/관리합니다.

관리자가 모든 고객에 대해 모든 작업을 수행하고 마스터 작업을 제어 할 수있는 경우.

각 직업에 대해 하나의 주니어는 하나의 마스터를 선택해야하며 하나의 마스터는 하나의 관리자를 선택해야합니다. 한 주니어는 버려진 직업을 소유하게됩니다. 그러나 마스터가 하나의 직업을 고칠 때 생성자 주니어는 소유권을 유지합니다.

답변

0

트리에 도달 할 때까지 각 엔티티에 하나의 테이블을 작성하십시오. 새 역할이 나타날 때마다 새 테이블을 작성한 다음이 구조를 사용하여 시스템을 제어하십시오. 직원 테이블에 사용자 테이블과 직원에 대한 사용자를 유지, 각 사용자는 하나의 비밀 번호와 로그인을 가지고 후 직원의 비밀 번호와 로그인으로 로그인해야합니다. 그것으로 문제를 해결하십시오.

+0

노력해 주셔서 감사합니다.하지만 정말 지저분 할 것입니다. 메신저 확장 가능하고 일반적인 것을 찾고 있습니다. – newway

관련 문제