Just nu i M3-nätverket
Jump to content

Olika användarnivåer


Haren

Recommended Posts

Hmm, vet inte hur jag ska formulera det här...

 

I min webbapplikation vill jag att man ska kunna logga in dels som vanlig användare och dels som administratör. Tidigare har jag bara haft en "nivå" på användarna och det har fungerat alldeles utmärkt. Jag använder Forms Authentication.

 

Om man inte är inloggad och försöker ladda en skyddad sida, så hamnar man ju tack vare forms authentication på inloggningssidan, som man definerar i Web.config-filen som ligger i rooten i katalogstrukturen. Hur gör jag om jag vill definera två olika inloggningssidor? Jag har prövat att göra en annan Web.config-fil i ett underbibliotek som heter Admin, men då klagar den på att jag inte får ange authentication-inställningar på den nivån.

 

Dessutom undrar jag hur man lättast särskiljer två användare med olika behörighet. Om jag får det att funka på det sätt jag tänkt nu, så känns det ändå som det kommer bli så att man kan logga in som vanlig användare och sedan genom att pilla i adressfältet i browsern komma åt sidor som bara administratören får komma åt (eftersom jag inte skiljt nivåerna åt).

 

Hmm, hoppas verkligen att frågorna är något så när lättförståeliga.

 

-------------------------------

/HAREN

"And never start a sentence with a conjunction"

 

 

 

Link to comment
Share on other sites

Läser du in användarinformationen från en DB? Isåfall så kan du ju ha ett fält som talar om vilken typ av användare som du är, och kolla i din DB på admin sidorna, om den inloggade användaren verkligen är en admin.

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

Link to comment
Share on other sites

Jepp, jag funderade på det.. det skulle dock innebära ett extra dopp i databasen för varje sida, tänkte att det kanske tar resurser? Men det kanske inte är så blodigt.

 

-------------------------------

/HAREN

"And never start a sentence with a conjunction"

 

 

 

Link to comment
Share on other sites

Spara undan informationen nånstans då? Sätt en global bool variabel om man är admin lr inte. Vet dock inte säkert hur det blir med säkerheten.

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

Link to comment
Share on other sites

Ett bättre sätt än att sätta en global variabel är att använda sig av Session objektet. När du loggar in personen så skriver du bara en liten rad:

Session["Admin"] = true; 

 

Då när du skall kontroller om personen är administratör så gör du bara:

if((bool)Session["Admin"]) {
 // Show admin stuff
}

 

Sen så är det inte så blodigt att göra en sån liten databasförfrågan, men på det här sättet slipper du det ändå :)

 

[inlägget ändrat 2003-04-15 11:35:58 av anteD]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...