Just nu i M3-nätverket
Gå till innehåll

Olika användarnivåer


Haren

Rekommendera Poster

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"

 

 

 

Länk till kommentar
Dela på andra webbplatser

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

 

 

Länk till kommentar
Dela på andra webbplatser

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"

 

 

 

Länk till kommentar
Dela på andra webbplatser

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

 

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...