webForumDet fria alternativet

Databasdesign - rättighetssystem

Webbutveckling

2 svar · 238 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Jag ska snart börja med en ganska stor applikation i PHP och MySQL som bl.a. innehåller en nyhetspubliceringsfunktion. I denna ska användare kunna ha olika publiceringsrättigheter. T.ex. ska man kunna ange vilka kategorier en person ska kunna publicera nyheter i, och även kunna skapa "rättighetsprofiler" om ni förstår vad jag menar. En person ska t.ex. kunna ingå i "nyhetsredaktörer" och alla i den gruppen kan publicera nyheter i vissa kategorier. Jag hoppas ni förstår vad jag är ute efter.

Jag har aldrig designat ett sådant system tidigare och undrar därför om någon kan tipsa om en artikel eller dylikt där jag kan läsa mer om hur databasen för ett sådant system skulle kunna se ut.

All information välkomnas!

Medlem sedan feb. 200112 078 inlägg
#2

Det viktigaste är väl egentligen att du har ordentlig struktur på själva 'grupphanteringen' från början. En grupp är lika med en rättighetsnivå, kan vara en bra start.

Följande tabeller kan man utgå ifrån även om det går att göra på andra sätt.

tblUser
UserId
UserFullname
UserUsername
UserPassword
UserLevelId

tblLevel
LevelId
LevelName

tblNewsCategory
NewsCategoryId
NewsCategoryName
NewsCategoryLevelId

tblNews
NewsId
NewsSubject
NewsText
NewsNewsCategoryId

Lagra användarens LevelId i en sessionsvariabel och skicka in den i anrop och sql-satser där du behöver kontrollera t.ex. åtkomst av sidor, data i databasen (news exempelvis) osv.

Medlem sedan mars 20025 907 inlägg
254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)