Web-TorMedlem sedan nov. 200013 890 inlägg 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?
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 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?
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 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 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 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 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 Ok, det får bli till att bygga på det gamla vanliga viset då. ;)
PatrikBMedlem sedan mars 20002 836 inlägg Kika in hur de har löst roll-hanteringen i de sk IBuySpy-applikationerna på https://www.asp.net
cya,
/PatrikB