1 / 11

Sikkerhed

Sikkerhed. Sikkerhed i ASP.NET Autentifikation (Authentication) Autorisation (Authorization). Overblik. Sikkerhed i ASP.NET kontrolleres via .config-filen(filerne) Standard autentifikation er sat til Windows Standard autorisation er sat til at tillade anonymous (alle) tilgang.

forbes
Download Presentation

Sikkerhed

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sikkerhed • Sikkerhed i ASP.NET • Autentifikation (Authentication) • Autorisation (Authorization)

  2. Overblik • Sikkerhed i ASP.NET kontrolleres via .config-filen(filerne) • Standard autentifikation er sat til Windows • Standard autorisation er sat til at tillade anonymous (alle) tilgang machine.config <system.web> <authenticationmode="Windows"> </authentication> <authorization> <allowusers="*"/> </authorization> </system.web>

  3. Autentifikationskontrol • Der gives 4 muligheder for autentifikation: • Windows: autentificerer brugeren vha. de lokale Windows-konti, Windows prompter brugeren • Forms: autentificerer brugeren via et egettilvirket sikkerheds- system; der skal bruges Login-side, osv … • Passport: autentificerer brugeren via Microsoft's Passport system, kræver installation og opsætning af Passport-system • None <system.web> <authenticationmode="Windows"> </authentication> </system.web>

  4. Sikkerheds-webkontroller • ASP.NET 2.0 definerer en række nye sikkerhedsrelaterede kontroller: • <asp:Login ... /> • login autentifikations formular • <asp:LoginView ... /> • skiftende udseende baseret på identitet • <asp:PasswordRecovery ... /> • kodeordsgendannelses-formular (kun uhashede kodeord) • <asp:LoginStatus ... /> • skiftende udseende alt efter hvordan brugeren er autentificeret • <asp:LoginName ... /> • viser brugernavn for autentificerede brugere • <asp:CreateUserWizard ... /> • oprettelsesformular til nye brugere • <asp:ChangePassword ... /> • formular til ændring af kodeord

  5. Eksempel • "Login/Logout"-link giver mulighed for at logge ind – eller viser hvem der er logget ind: <%@ Page language=C# %> <html> <body> <asp:LoginStatusID="LoginStatus1"runat="server"/> : <asp:LoginNameID="LoginName1"runat="server"/> </body> </html> Når brugeren ikke er logget ind Når brugeren er logget ind

  6. Rækkefølgen er vigtig! ASP.NET anvender top-down, første match bestemmer tilgangen Autorisationskontrol • Autorisation understøtter <allow> og <deny> underelementer • "?" repræsenterer anonyme brugere • "*" repræsenterer alle brugere • ellers specificeres en kommasepareret liste af brugere • Eksempel: • nægt (deny) anonym tilgang • tillad (allow) tilgang til "per" og "lis" • nægt (deny) tilgat til alle andre Window-brugere <configuration> <system.web> <authorization> <denyusers="?"/> <allowusers="MitDomæne\per, MitDomæne\lis"/> <denyusers="*"/> </authorization> </system.web> </configuration>

  7. Eksempel • Opret et Forms-baseret sikkerhedssystem < 5 minutter … • angiv Forms-autentifikation i web.config, nægt anonym tilgang ("?") • tilføj en ny WebForm – Login.aspx • træk og slip en Login-kontrol på formen • tilføj brugere via Visual Studio's "web app admin"-værktøj: • Website menu > ASP.NET Configuration • Security fanen … • Opretter og befolker automatisk SQL Server 2005 databasen in App_Data!

  8. Brugerhåndtering • Der gives sikkerhedsrelaterede kontroller, som håndterer generel funktionalitet: • Oprettelse af bruger • Ændring af kodeord • Gendannelse af kodeord • Træk og slip disse kontroller på en formular, og det burde virke … • kommunikerer automatisk med den underliggende SQL Server 2005 database …

  9. Eksempel • CreateUserWizard-kontrol • opret en side, træk kontrollen ind på siden, og lav et link til den fra Login-siden … <asp:CreateUserWizardID="CreateUserWizard1" runat="server"> <WizardSteps> <asp:CreateUserWizardStepID="cuws1" runat="server" /> <asp:CompleteWizardStepID="cpuws1" runat="server" /> </WizardSteps> </asp:CreateUserWizard>

  10. Finmasket tilgang • Forskellige brugere kan have forskellige grader af tilgang … • anvend <location>-elementet til at kontrollere tilgang til filer og mapper <configuration> . . . <locationpath="admin"> <system.web> <authorization> <allowusers="knud"/> <denyusers="*"/> </authorization> </system.web> </location> <locationpath="Salaries.aspx"> <system.web> <authorization> <allowusers="lis,per,knud"/> <denyusers="*"/> </authorization> </system.web> </location> </configuration> kun "knud" har tilgang til "admin"- mappen "lis", "knud" og "per" kan tilgå Salaries.asp-siden

  11. Rollebaseret sikkerhed • ASP.NET understøtter brugen af roller, dvs. "brugergrupper" • Definér roller via Website menu > ASP.NET Configuration • Håndtér roller via Website menu > ASP.NET Configuration • Definér nu autorisation ved brug af roller … <configuration> . . . <locationpath="admin"> <system.web> <authorization> <allowroles='Administrators'/> <denyusers="*"/> </authorization> </system.web> </location> Bemærk brugen af apostroffer!

More Related