Hop til teksten

IT FJERNUNDERVISNING
- IT kurser når Du har tid!

Brugerstyring / Sikkerhed

ASP.NET 3.5 er blevet forsynet med fuldt værktøj til styring af brugere, roller og sikkerhed. Alle informationer om brugere gemmees i en database - SMART.

Som default anvender ASP.NET en SQL server der ligger i App_Data, men vi vil gerne bruge den samme SQL server, hvor vi har de andre data liggende.

For at konfigurere et site til at anvende en ekstern SQL server til brugerstyringen gøres følgende:

  1. I mappen c:\windows\microsoft.net\framework\<version nr (start med at kigge i version 2...) ligger aspnet_regsql.exe. Kør den!

  2. Klik Next


  3. Klik Next

  4. Skriv dit brugernavn, password og vælg din database og klik Next, BEMÆRK - Servernavn skal rettes til scientdata.dk\SQLEXPRESS,1433

  5. Klik Next

På serveren er nu oprettet en række tabeller, der skal bruges til at styre brugere og roller.


Næste skridt er så nu at oprette forbindelse mellem dit web-site og tabellerne på serveren.

  1. Start med at oprette en connectionstring til databasen i web.config, hvis du ikke allerede har én. Den ser sådan her ud og skal oprettes i <configuration> sektionen:
    <connectionStrings>
     <add name="BrugerstyringConnectionString" 
            connectionString="Data Source=it-fjernundervisning.dk;Initial 
            Catalog=Navnet på din database;Persist Security Info=True;User ID=Dit 
            Brugernavn;Password=Dit Password" providerName="System.Data.SqlClient" /> 
    </connectionStrings>
  2. Dernæst skal der oprettes en membership definition i web.config (i system.web sektionen):
    <membership defaultProvider="KursusProvider"> 
      <providers> 
        <add name="KursusProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="BrugerstyringConnectionString" 
          applicationName="ASPNETKursus" 
          minRequiredPasswordLength="5" 
          minRequiredNonalphanumericCharacters="0" /> 
      </providers> 
    </membership>
    Der er en række indstillinger man kan anvende i sådan en provider - se dem alle her: http://msdn.microsoft.com/en-us/library/whae3t94.aspx
  3. Endelig skal vi sætte definition af rolle modellen i web.config (også i system.web sektionen):
    <roleManager enabled="true" defaultProvider="KursusRoleProvider"> 
      <providers> 
        <add name="KursusRoleProvider" 
            type="System.Web.Security.SqlRoleProvider" 
            connectionStringName="BrugerstyringConnectionString" /> 
      </providers> 
    </roleManager>

Nu kan vi se om det hele virker...

Vælg ASP.NET Configuration i Website menuen i Visual Studio

Det ser sådan her ud:

Klik på Provider fanen:

Og dernæst "Select a different provider for each feature (advanced) ":

(Tag dig ikke af mine navne...)


Nu kan vi oprette roller, brugere etc.

Forms autentification

Husk også at sikre dig at dit site står tli Forms autentification - det gør du ved at klikke på "Select authentication type" på skærmen her:

Og "From the Internet" på den næste skærm.

Dette kan godt sættes op manuelt i web.config, hvis du skulle have lyst til det :-)


Og kigger du i databasen kan du faktisk se de roller mv du opretter:

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.