ASP.NET / Sikkerhed / Modeller
Sikkerhed
ASP.NET understøtter følgende sikkerhedsmodeller:
- Windows
Autentificeringen sker gennem den IIS'ens autentificering - Passport
Her bliver man autentificeret gennem den centrale Passport service fra MS - Forms
Autentificeringen sker ved at folk, der ikke er autentificeret bliver sendt til en form, hvor de skal indtaste brugernavn og password - Ingen
Det er default indstillingen - hvor alle kan se alt
Valg og konfiguration af autentificeringsmodel sker i web.config filen. Det ser ca. sådan her ud:
<Configuration>
...
<system.web>
<autentication mode="Windows | Passport | Forms | None">
her skriver man så yderligere informationer om autentificeringsmetoden
</autentication>
<authorization>
brugere og roller, der har adgang til applikationen
</authorization>
<identity>
hvis applikationen skal køre under en anden konto
</identity>
</system.web>
...
</configuration>
Specifikation af brugere og roller
Den generelle form af de to elementer til at styre brugere og roller ser sådan her ud:
<allow roles="komma-separeret liste over roller"
users="komma-separeret liste over brugere"
verb="GET|POST|HEAD" />
<deny roles="komma-separeret liste over roller"
users="komma-separeret liste over brugere"
verb="GET|POST|HEAD" />
Ud over dette skal vi vide at man kan bruge
- en stjerne (*) for at angive alle brugere, roller eller verbs
- et spørgsmålstegn (?) for at angive 'annonym adgang' - men kun i forbindelse med users
Hvor gør man det så
Normalt placerer man web.config filen i den mappe, som indstillingerne skal gælde for, men man kan også med et <location> element specificere flere områder:
<Configuration>
...
<system.web> <!-- default for applikationen -->
<autentication mode="Windows | Passport | Forms | None">
her skriver man så yderligere informationer om autentificeringsmetoden
</autentication>
<authorization>
brugere og roller, der har adgang til applikationen
</authorization>
<identity>
hvis applikationen skal køre under en anden konto
</identity>
</system.web>
<location path="minside.aspx"> <!-- gælder kun for denne side -->
<system.web>
<authorization>
brugere og roller, der har adgang til filen
</authorization>
</system.web>
</location>
...
</configuration>
Config.web
<globalization
fileEncoding="iso-8859-1"
requestEncoding="iso-8859-1"
responseEncoding="iso-8859-1"
culture="da-DK"
uiCulture="da-DK"
/>
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.