Gå til innhold

ASP: Hvordan bruke VWD2008 login controller mot egen database?


Anbefalte innlegg

Hvordan bruke VWD2008 login controller mot egen database?

 

Jeg har allerede en brukerdatabase, med en masse bruker tilknytt informasjon. Bla. bilder og favoritter.

 

Dette er i dag en Access database som jeg skal få over til SQL etterhvert. Problemet mitt er at uansett om det er access eller sql får jeg ikke til å bruke login-controllene.

 

Har forsøkt å finne noen guider på nett for hvordan du kan sette dette opp uten at jeg har klart det.

 

 

Noen som har gjort dette og vil ta på seg og forklare litt om hvordan det gjøres?

Lenke til kommentar
Videoannonse
Annonse

Jeg har gjort dette rimelig enkelt.

Jeg har laget et eget login vindu, tross alt ikek mer enn to entries og et par knapper. Så validerer jeg dette mot databasen på LOGIN knappen og lagrer brukernavnet og passordet i sesjon variabler.

I tillegg har jeg laget en egen BASECLASS som arver System.Web.UI.Page. Alle WEB FORMS bruker denne base class i stedet for UI.Page. Dermed styrer du rettighetene rimelig enkelt

public class BaseClass : System.Web.UI.Page
{
 protected string AppRoot = "~/Path/To/Site/Pages/";
 protected UserSecurityManager ThisSecurity = new UserSecurityManager();
 protected void RequestLogin()
 {
Response.Redirect(AppRoot + "Login.aspx?ReturnURL=" + Request.PathAndQuery);
 }
}

Så må du selvsagt lage UserSecurityManager klassen, men det burde jo være grei skuring. Skal jo bare inneholde funksjoner som leser data fra USERS i databasen din. Jeg bruker en Session variabel kallt AccessLevel. så har jeg laget en enum som er omtrendt slik som Joomla

	public enum eUserGroup
{
	Anonymous,
	Registered,
	Writer,
	Editor,
	Publisher,
	Admin,
	ContentAdmin,
	SystemAdmin,
	SuperAdmin
}

Dermed kan jeg sjekke i alle skriptene som sjekker rettigheter mot database, som f.eks. slik:

var articles = from a in DB.Articles
		  where a.AccessLevel <= ThisSecurity.AccessLevel
		  select a;

Dette kan jeg gjøre fordi BaseClass inneholder ThisSecurity, og BaseClass er jo basisen for ALLE web forms... Ganske enkelt og greit. Jeg bruker ThisSecurity objektet til å validere over allt. Funker som en drøym.

 

 

Håper dette hjelper deg på veien videre ;-)

Endret av HDSoftware
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...