문제

포럼 응용 프로그램을 만들고 있다고 말하면서 그룹과 함께 포럼 레벨 권한 시스템을 설계하는 방법을 이해합니다.

즉, 그룹 매핑을위한 포럼을 만들고 그룹에 사용자를 할당하여 특정 포럼에 액세스 할 수 있습니다.

행 수준 권한을 허용하기 위해 권한을 수정하려면 어떻게해야합니까 (또는 포럼 용어, 포스트 레벨).

올바른 솔루션이 없습니다

다른 팁

당신은 이미 설명한 것과 비슷한 방식으로 그렇게 할 것입니다. 몇 가지 더 조인이 필요합니다. SO와 같은 구조를 가지고 있다고 가정 해 봅시다 (제약 조건을 제약으로 유지하고 코드의 양을 줄이기 위해 의도적으로 제약 조건을 유지했습니다).

CREATE TABLE ForumPost (
PostID int,
ForumID int,
PostText varchar(255)
);

CREATE TABLE ForumUser (
ForumUserID int,
ForumUserName varchar(255),
NumofPosts int
);

CREATE TABLE ForumGroups (
ForumGroupID int,
ForumGroupName varchar(255)
)

CREATE TABLE ForumGroupMembership (
ForumUserID int,
ForumGroupID int
)

CREATE TABLE ForumPermissions (
ForumID int,
ForumGroupID int,
MinPosts int
)

그런 다음 여러 조인을 수행하여 그에 따라 내용을 제한 할 수 있습니다.

SELECT FPost.PostID, FPost.ForumID, FPost.PostText
FROM ForumPost FPost
  JOIN ForumPermissions FPerm
    ON FPost.ForumID = FPerm.ForumID
  JOIN ForumGroupMembership FGM
    ON FPerm.ForumGroupID = FGM.ForumGroupID
  JOIN ForumUser FUser
    ON FUser.ForumUserID = FGM.ForumUserID
WHERE FUser.NumOfPosts >= FPerm.MinPosts
  AND FPost.PostID = <Some Number>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top