Zeilenebene Benutzerberechtigungen, Hilfe bei der Gestaltung
-
05-07-2019 - |
Frage
ich habe eine Foren-Anwendung erschaffe, ich verstehe, wie ein Forum Ebene Berechtigungssystem mit Gruppen zu entwerfen.
d. Sie ein Forum Gruppenzuordnung erstellen und zuweisen Benutzer zu einer Gruppe ihnen den Zugang zu einem bestimmten Forum zu geben.
Wie kann ich die Berechtigungen verfeinern für Zeilenebene Berechtigungen (oder in Forum Bedingungen, Post-Ebene).
ermöglichenKeine korrekte Lösung
Andere Tipps
Sie würden dies in einer ähnlichen Art und Weise, wie Sie bereits beschrieben habe. Es wird noch ein paar Verknüpfungen erfordern. Angenommen, Sie haben wie so eine Struktur haben (ich absichtlich habe die Zwänge ferngehalten, um es generische zu machen und die Menge an Code reduzieren):
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
)
Dann könnten Sie tun, mehrere schließen sich den Inhalt entsprechend beschränken, um sicherzustellen:
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>