웹 앱에 대한 역할 기반 보안을 구현할 때 권한, 역할, 사용자 및 UserRole에 대한 데이터베이스에 테이블이 있습니다 (즉, 역할에 사용자 할당).사용 권한에 플래그 열거 형을 사용하면 어떤 단점이 있습니까?
각 역할에는 권한 집합이 있습니다. 사용 권한은 0, 1, 2, 4 등과 같은 값을 갖는 C# 플래그 열거 형으로 정의됩니다.
데이터베이스에서 역할 테이블에는 역할에 대한 결합 된 권한 플래그를 저장하는 int 필드가 있습니다. (이런 식으로 우리는 별도의 Permissions 테이블 (좋든 나쁘지 않습니까?)과 RolePermissions에 대한 일대 다 테이블을 피할 수 있습니다.
코드에서 사용자의 유효 사용 권한을 계산하여 액세스 권한이 있는지 확인합니다. 역할 (들)은 사용자에게 할당됩니다 .NET에서는에 의해 열거 플래그에 논리 연산을 수행 그렇게 꽤 쉽게
이그래서 제 질문은 다음과 같습니다..
단점은 그 일에 있는가 이 방법 (역할에 부여 된 각 권한에 대해 하나의 레코드가 포함 된 Permission 테이블 및 RolePermission 링크 테이블을 갖는 것과 반대)
감사합니다. 사용법이 너무 이국적이지 않습니다. 각 테넌트가 자신의 역할 이름을 정의하고 사용자를 자신의 커스텀 역할에 할당하고자하는 멀티 테넌트 웹 애플리케이션입니다. 그들은 각각의 사용자 지정 역할에 표준 사용 권한 집합을 할당해야합니다. – Krishna