Domanda

Dire che sto creando un'applicazione per forum, ho capito come progettare un sistema di autorizzazioni a livello di forum con Gruppi.

vale a dire. crei un forum per raggruppare il mapping e assegni gli utenti a un gruppo per consentire loro di accedere a un determinato forum.

Come posso perfezionare le autorizzazioni per consentire le autorizzazioni a livello di riga (o in termini di forum, a livello di post).

Nessuna soluzione corretta

Altri suggerimenti

Lo faresti in un modo simile a quello che hai già descritto. Richiederà qualche altro join. Supponiamo che tu abbia una struttura del genere (ho intenzionalmente eliminato i vincoli per renderlo generico e ridurre la quantità di codice):

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
)

Quindi potresti fare diversi join per assicurarti di limitare il contenuto di conseguenza:

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top