webForumDet fria alternativet

Roller

9 svar · 291 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Har byggt ett mycket enkelt administrationssystem till en hemsida. Alla sidor som har med administrationen att göra ligger i en mapp och jag har satt skydd på den här mappen genom att lägga in "authorization" i Web.Config.

Nu skulle jag vilja göra systemet lite mer avancerat så att det finns vissa roller som kan komma åt olika saker.

Helst skulle jag vilja ha alla användare i en databas där man enkelt kan ange vilka sidor varje användare ska ha rättighet att se.

Typ så här:
Nyheter.aspx - Ja/Nej
Förstasidan.aspx - Ja/Nej
Arkivet.aspx - Ja/Nej

Förslag på hur jag löser detta?

m_soderlundMedlem sedan sep. 20026 425 inlägg
#2

För varje användare i databasen får du lista rättigheter för respektive sida (lagra 1 och 0 för ja och nej), och när användaren sedan surfar till den sidan så får du kolla mot databasen ifall om användaren har rättigheter till den. :)
Sen hur du kodar saken är en annan femma. ;)

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Jo, jag vet hur en databas fungerar. ;)
Jag fattar också att jag måste kolla användarens rättigheter men fråga är hur.

Att lägga in det i Web.Config är ju rätt smidigt eftersom man då slipper hålla på att kolla rättigheter på varje sida men går det att göra?

m_soderlundMedlem sedan sep. 20026 425 inlägg
#4

Just vad jag tänkte på. :D Eftersom web.config är en XML-baserad fil (jodå, det är den väl) så borde det gå att köra XPath eller nåt i den. Däremot är jag osäker på ifall om det fungerar med vanlig C#.

SPiNMedlem sedan mars 20007 896 inlägg
#5

Web.Config är väl en statisk fil, som beskriver webplatsen och där man kan lägga in statiska värden? I så fall tror jag inte att ditt problem kan lösas enkelt genom den vägen, du måste uppdatera filen varje gång du får en ny användare eller behöver ändra rättigheter/behörigheter. Är inte det något problem för dig så kan du självklart använda den. :)

I så fall borde du kunna skapa en mapp för varje administrationsdel, för att göra det enkelt för dig?

Web-TorMedlem sedan nov. 200013 890 inlägg
#6

Du har rätt Spin.
Web.Config är egentligen inget alternativ eftersom det blir onödigt bökigt.

Erbjuder .NET några andra smidiga sätt att sköta detta eller får göra som man brukar göra i t.ex PHP, ASP... ?

SPiNMedlem sedan mars 20007 896 inlägg
#7

Jag vet ju inte nu om .NET har något som du efterfrågar, men min spontana tanke är: Nej. Jag gissar på att du får lagra rollerna i en DBMS, XML-fil, text-fil, eller likvärdig databas. Kontrollen mot databasen behövs egentligen bara göras en gång, sen lagrar du användarens rollvärde i en sessionsvariabel som du kontrollerar på administrationsdelarna.

renholmMedlem sedan apr. 20012 266 inlägg
#8

Som SPiN säger får du använda XML-fil, DBMS etc. för att lagra användarna. Att använda web.config kan vara vettigt till applikationer där användare inte modifieras så ofta. Följande kanske kan vara intressant: http://aspnet.4guysfromrolla.com/articles/082703-1.aspx

Web-TorMedlem sedan nov. 200013 890 inlägg
#9

Ok, det får bli till att bygga på det gamla vanliga viset då. ;)

PatrikBMedlem sedan mars 20002 836 inlägg
#10

Kika in hur de har löst roll-hanteringen i de sk IBuySpy-applikationerna på https://www.asp.net

cya,
/PatrikB

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
132 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)