webForumDet fria alternativet

Hur gör Ni med rättigheter...

.NET

4 svar · 278 visningar · startad av paraxe

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

Hur gör Ni med rättigheter på Eder hemside-projekt?

Min användare ligger naturligvis i en databas och har där ett fält med "UserRights", en sifferkombination alá 44, 46, 64, 65, 66, 71 och 77. Där 77 är SuperUser över hela systemet (liknande Unix rättighetsnivåer).

Nu har jag kommit så långt i mitt system att jag vill implementera detta på olika sidor.

Med min beskrivning i åtanke vill jag ha förslag på hur jag skall styra min användare hit och dit. Samt hur Ni har löst Era projekt(fördelar och nackdelar).

Mvh

Pär

Medlem sedan apr. 2004778 inlägg
#2

Jag kör rollbaserat. Dvs. jag har en tabell med roller, en med användare, en använder-roll tabell.
I web.config bestämmer jag vilka roller som har tillgång till en specifik mapp eller fil. Alternativt gör inloggskoll i code-behind och sedan kollar vilken roll användaren har och då visar innehållet baserat på det.

Läs mer på http://www.4guysfromrolla.com/webtech/121901-1.shtml
http://aspnet.4guysfromrolla.com/articles/082703-1.aspx

Medlem sedan apr. 2004298 inlägg
#3

Intressant läsning... har du stött på några nackdelar med detta?

Hade tänkt mig nåt sånt här:

Texbox.Visible = CheckPermission(6,5)

Och en funktion som kollar om den inloggades rättigheter är >= 6 och 5, retunera true el. false.

Och givietvis i page_load() kolla om man ens får ladda sidan.

Mvh

Pär

Medlem sedan jan. 2004501 inlägg
#4

En liten tanke.

Ska försöka förklara på ett bra sätt. Det du kan göra är tex en security tabell för själva sidorna. Om du skapar en security grupp med Tex read, write, edit, delet, create och sedan kan du säga att en roll får ha vissa rättigheter och att en sida ligger inom en viss säkerhetsgrupp.

Detta kräver dock en lite mer komplicerad lösning med det ska funka. Jag skulle rekomendera att man slänger upp de rollerna som använder är medlem i när han loggar på. Och slänger upp sidgrupperna med rättigheter.

Sedan kan man ha en variabel på sidan eller mappen som säger vilken sidgrupp den till hör sedan är det bara att kolla.

Som sagt en tanke.

Medlem sedan apr. 2004778 inlägg
#5

Nej, jag har inte stött på några nackdelar, bara fördelar.
Det finns även en indelning till som jag gör. Varje roll har nämligen specifika rättigheter vilket gör att man kan få väldigt bra koll på vad en user får göra.
"Min" lösning har jag till viss del tagit från artiklarna och blandat detta med en lösning från boken "ASP.NET Website Programming - Problem Design Solution" av Marco Bellinaso och Kevin Hoffman.

Som asmodie säger kan man även ge sidor olika rättigheter. Jag har t.ex. sidor som bara skall ses av registrerade användare. I mitt admingränssnitt kan jag tilldela vilka roller som ska ha tillgång till en sida. Varje sida (använder mallar enligt MasterPages principen) ärver en BasePage klass och alla kontroller görs i den klassen.

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)