PPatrikBMedlem sedan mars 20002 836 inlägg om det är grupper för samma applikation så ska man det inte. Admin "borde" ju ha tillgång till att göra allt!!! eller?
dvs, behöver Nisse adminrätt så ligger han i den rollen och ingen lägre. Skulle ha ligga i en lägre grupp så skulle han "aldrig" kunna få admin rätt då den lägsta behörigheten ska gälla.
cya,
PatrikB
PaceMedlem sedan juni 20019 024 inläggHmm, nu blir det här krångligare än vad det verkade från början. :e
Vi låtsas att vi har följande personer:
* Kalle (Admin)
* Rutger (ska skriva nyheter)
* Börje (ska lägga till länkar)
Vi har följande applikationer:
* Nyheter
* Länklista
Kalle ska då få rättigheter till både nyheter och länklistan och Rutger & Börje är ganska självklara. Hur bör rollerna ges då? Kör man på exempelvis tre roller (Admin, Editor, Reader):
* Rutger --> Editor --> Nyheter
* Börje --> Editor --> Länklista
Ska man använda tre stycken generella grupper som kan användas på varje applikation eller ska man sätta specifika grupper (i detta fallet 3 grupper x 2 applikationer = 6 st grupper) på varje applikation?
r) Eftersom man sätter en person som "Admin" måste man ju i princip bygga VB-koden så att admin får tillgång till det ena och det andra... Det känns inte rätt. Man borde kontrollera i databasen vad den specifika rollen kan göra och inte göra. Eller har jag missuppfattat (hoppas :e)?
Först lagrade jag applikationerna som "Nyheter: Lägg till" osv, men det känns inte heller rätt.
PPatrikBMedlem sedan mars 20002 836 inlägg Man kan skapa dessa roller:
News Admin
News Editor
News Reader
Link Admin
Link Editor
Link Reader
Super Admin (rätt till precis allting)
När man sedan lägger till en applikation så skapar man nya roller för den (Super Admin ska förståss läggas till i även den)
Nej, du har inte missuppfattat det. Det ska finnas ett fält till i db-schemat som jag la upp .... Ett fält i tabellen ApplicationRoles som talar om vilken typ av access gruppen har på applikationen, tex:
No Access
Read
Edit
Full
etc.
cya,
PatrikB
PPMedlem sedan jan. 20012 204 inlägg
Nej, du har inte missuppfattat det. Det ska finnas ett fält till i db-schemat som jag la upp .... Ett fält i tabellen ApplicationRoles som talar om vilken typ av access gruppen har på applikationen, tex:
En beskrivning alltså eller?
PPatrikBMedlem sedan mars 20002 836 inlägg en beskrivning som talar om "vad rollen får göra", tex ändra i befintlig data.
cya,
PatrikB
PPMedlem sedan jan. 20012 204 inlägg Vad jag har fått lära mig så ska så mycket som möjligt av arbetet försökas lägga på clientsidan. I detta fall så menar jag då om det inte skulle vara bra om administratören(super-admin) skulle kunna lägga till roller själv och lägga in sina användare (admins) i dessa.
Kommentarer?
PaceMedlem sedan juni 20019 024 inläggP: Jo, det är väl en förutsättning för att det hela ska fungera!?
PPMedlem sedan jan. 20012 204 inlägg Nej! När du utvecklar systemet så kan du ju lägga in roller etc och kontrollera detta på dina sidor men hur ska man kontrollera detta om rollerna läggs till dynamiskt?
PPatrikBMedlem sedan mars 20002 836 inlägg Det är det tabellen applicationroles är till för.
Vilket system du än bygger så "måste" det alltid finnas en admin som kan göra vad som helst.
Ta bara ett exempel som att installera ett operativ (win2k server) där du alltid får ange adminlösenordet under installation.
Själva admin kontot är "alltid" skapat som Administrator som default.
På samma sätt måste du oxå göra när du skapar en applikation som bygger på ngn typ av "säkerhet", dvs skapa en default admin vid installation.
cya,
PatrikB
PPMedlem sedan jan. 20012 204 inlägg Snackar vi om samma sak?
Du har gjort en sida med följande roller inlagda från början : reader/editor/mini-admin/admin. Du kontrollerar på editor sidan så att antingen admin eller editor får gå in där.
Nu visar det sig att din admin har skapat en egen roll som heter halv-admin. Administratören vill att denna admin ska kunna vara reader och editor. Hur ska detta lösas ?
PPatrikBMedlem sedan mars 20002 836 inlägg Du måste ju alltid ha bestämda regler från början vad gäller rättigheter, dvs vad som ska tillåtas.
Som exempel på vad som kan tillåtas kan vara dessa:
1. Bara läsa (Read)
2. Ändra i poster etc. (Edit) MEN! edit måste även ha rätt att läsa
3. Göra vad som helst (Full) - en typ av admin som det inte finns några begränsningar för. (behörighet på default "super adminrollen")
Dessa rättigheter är statiska (dvs för konfigurerade) precis som på din server.
Rollen/Rollerna skapar man för att man INTE vill lägga rättigheter direkt på användaren, utan istället på rollen. Så gör man även på servrar i nätverk (LAN, WAN). Fast, det heter inte roller utan grupper, och sedan läggs rättigheten på gruppen.
Rollerna i sin tur har olika namn, lättast om de har ett klart beskrivande namn som tex News Editor (Roll för news med behörighet Edit). Rollen ska även vara kopplad till tex en applikation (flera applikationer) som i detta fall till applikationen News.
Om nu admin vill lägga till en roll Mini-Admin så måste ju även den rollen "kopplas" till en applikation och ges någon form av rättighet (Read, Edit, Full).
Du gör likadant på din server i nätverket. Du skapar en grupp, ger den (gruppen) rättigheter (alltid statiska) till olika diskar/kataloger/filer.
Detta är "precis likadant" ...... men du får koda hela säkerheten själv.
Krävs en hel del planering för att det ska bli riktigt bra då det är mycket att tänka på.
cya,
PatrikB
PPatrikBMedlem sedan mars 20002 836 inlägg men å andra sidan ... bra planering så kan den återanvändas i "alla" dina framtida applikationer :e
cya,
PatrikB
PPMedlem sedan jan. 20012 204 inlägg Är rollerna alltid statiska? Så administratören kan bara placera användare i rollen och inte skapa egna roller?
PaceMedlem sedan juni 20019 024 inläggSjälvklart ska man kunna skapa egna roller, alla system fungerar inte på exakt samma sätt.
PPMedlem sedan jan. 20012 204 inlägg Hur skulle man då kunna konstruera detta utan att använda någon form av tabell där man lagrar alla egenskaper i? För då kommer man väl tillbaka till detta....
citerar mig själv :)
Funderade också på något i den här stilen:
id|admin_id|nyhet(tillåtelse att lägga till nyhet, true /false) osv med alla andra saker som ska eller inte ska ha tillgång till. Men har hört att det inte ska vara så bra...