質問
フォーラムアプリケーションを作成しているとしましょう。グループでフォーラムレベルの許可システムを設計する方法を理解しています。
i.e。グループマッピングを行うフォーラムを作成し、ユーザーをグループに割り当てて、特定のフォーラムへのアクセス権を付与します。
行レベルのアクセス許可(またはフォーラム用語では投稿レベル)を許可するようにアクセス許可を調整するにはどうすればよいですか。
正しい解決策はありません
他のヒント
既に説明したのと同様の方法で行います。さらにいくつかの結合が必要になります。あなたがそのような構造を持っているとしましょう(私はそれを一般化してコードの量を減らすために意図的に制約を避けました):
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>
所属していません StackOverflow