Labb 4: ASP.NET 4.5 Medlemskap, Inloggningskontroller, Rollhantering

Relevanta dokument
Labb 4: ASP.NET 2.0 Medlemskap, Inloggningskontroller, Rollhantering

Lab 5: ASP.NET 4.5 Site Navigation

Lab 5: ASP.NET 2.0 Site Navigation

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

Lab 6: ASP.NET 2.0 Providermodellen

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Boss installationsmanual förberedelser

Labb 1: Skapa en webbsite

Labb 2: ASP.NET 4.5 Data Access

JobOffice SQL databas på server

Innehåll. Dokumentet gäller från och med version

Labb 1: Skapa en webbsite

Administrationsmanual ImageBank 2

Installationsanvisning Boss delad databas

VPN (PPTP) installationsguide för Windows 7

Konton skapas normalt av användaren själv, men kan i undantagsfall behöva läggas upp av annan person, exempelvis en junioradmin.

Labb 1: Skapa en website

Arg-administratörens guide till Umbraco v 1.2.1

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Installationsanvisningar. till IST Analys

IT-system. BUP Användarmanual

Del 1: Skapa konto i Exchange

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Ekonomiportalen Sa kommer du iga ng

Innehåll 1 Inledning Serverinstallation 2.1 Systemkrav 2.2 SQL Server 2.3 Behörighet vid installation 2.4 Behörighetskontroll i Microsoft SQL Server

DOTNETNUKE SKOLNING Skapat: den 20 november 2012

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Byggsektorns Miljöberäkningsverktyg Användarmanual

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Årsskiftesrutiner i HogiaLön Plus SQL

Uppdateringsguide v6.1

Konfigurering av inloggning via Active Directory

e-line Kort- och Bankbetalning

Manual för din hemsida

Uppdatera Easy Planning till SQL

Räkna med ASP.NET Web Forms

Administrationsmanual ImageBank 2

Instruktion för installation av etikettskrivare 2.27

Snabbguide webbhotellstjänster v 1.0

ALEPH ver. 16 Introduktion

AVCAD 4.0 för Windows

Samsung NVR SRN-473S/873S/1673S Quick guide till web/app anslutning

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual.

Installationsmanual ImageBank 2

PRINTER DRIVER ADMINISTRATOR GUIDE

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

Innehållsförteckning Introduktion Installation, konfiguration & Matchning Installation på primära domänkontrollanten...

Innehållsförteckning:

Årsskiftesrutiner i HogiaLön Plus SQL

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Instruktioner för att skapa konton i MV-login

Att koppla FB till AD-inloggning

LEX INSTRUKTION REPLIKERING UPPGRADERING

Lägga till bild i e- handeln

Compose Connect. Hosted Exchange

TIS-Web startguide 3.6. TIS-Web Startguide

Författare Version Datum. Visi System AB

Övning: Arbeta med Azure Explorer

iphone/ipad Snabbguide för anställda på HB

Flexi Exchange Connector. Copyright Datatal AB. Med ensamrätt. Copyright 2013 Datatal AB. All rights reserved.

GUIDE TILL ANVÄNDARHANTERINGEN

DELA DIN MAC MED FLERA ANVÄNDARE

Att koppla FB till AD-inloggning

Instruktion för installation av etikettskrivare 2.31

Årsskiftesrutiner i HogiaLön Plus SQL

Kom igång med Advance Online portal med certifikatsverifiering

iphone, ipad... 9 Anslut... 9 Anslutningsproblem... 9 Ta bort tidigare inloggningar... 9 Ta bort profil... 9

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2.

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Visma Proceedo. Att logga in - Manual. Version Version /

Stored procedure i ASP.NET

Manual för Typo3 version 4.2

Innehållsförteckning ADSync Windows Azure Active Directory ADSynC- Installation Konfigurera ADSync... 4

Extern åtkomst Manual för leverantör

Installera widgetshop på Facebook

Övning: Skapa en ny regel

Guide för fjärråtkomst av Gigamedia IP-kamerakit

Instruktion för användande av Citrix MetaFrame

Läs detta innan du sätter igång!

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

Konfigurera Microsoft Outlook 2007-klient.

Telia Connect för Windows

Myndigheten för samhällsskydd och beredskap 1 (10) Datum Installationsguide ROPA

Arbetshäfte Office 365 en första introduktion

Manual

1. Logga in som Wordpress-administratör till den siten som ni will kopiera och flytta någon annan stans.

Design Collaboration Suite

Manager för ett gruppkonto i Widgit Online funktionsverket

Joomla CMS Del 2 av 2

Laboration 1 Introduktion till Visual Basic 6.0

Registrering och installation av Garanti XL

Flytt av. Vitec Mäklarsystem

Handledning för installation och komma igång med Joomla

Labb 3: ASP.NET 2.0 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

ANVÄNDAR-GUIDE för Bränneriets LAN

Startanvisning för Bornets Internet

Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing

Använda Office 365 på en iphone eller en ipad

Uppdateringsguide v4 SR-3

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Transkript:

Labb 4: ASP.NET 4.5 Medlemskap, Inloggningskontroller, Rollhantering Autentisering via formulär är ett vanligt sätt skapa säker åtkomst till internetresurser. Med de inloggnings och autentiseringskontroller som finns i ASP.NET designar du en inloggningssida och använder URL direktiv för att ange vilka sidor som kräver autentisering. När en besökare som inte är autentiserad försöker accessa en sida som kräver inlogg så skickas denne automatiskt vidare till en inloggningssida. ASP.NET 1.x gjorde detta enkelt genom att införa sätt att deklarativt designa inloggningssidor och specificera autentiseringsregler. I senare ASP.NET har detta förenklats ytterligare genom att följande har lagts till: En medlemskapsservice för att hantera användare och rättigheter. Nya kontroller för att logga in användare, skapa nya användare och annat. En rollhanteringsservice för att hantera rollbaserad säkerhet. I denna labb skall du använda alla tre för att bygga ett säkert administrations gränssnitt mot MyComics databasen. Du börjar med att skapa en inloggningssida. Sedan skall du säkra upp admin sidan du byggde i labb 2 så att endast autentiserade användare kan accessa den, och lägga till länkar på Site.master för att kunna navigera till admin-sidan och till inloggningssidan. Slutligen skall du använda rollbaserad säkerhet för att reglera rättigheter till admin-sidan så att endast administratörer kan accessa den. OBS! Kom ihåg att inte kopiera kod från pdf:en. Skriv av koden i instruktionerna i stället. Annars kan det följa med skräptecken som gör att det inte fungerar som det ska. Innan du börjar med labb 4 är det lämpligt att ha läst kapitlen 19 och 20 i boken.

2 Labbförberedelser Om du inte har slutfört labb 2 och enablat databas cachning, gör så här: a) Hämta scriptfilen CacheSetup.cmd från kurswebbplatsen under Filer ->Komponenter och öppna den i notepad. Ändra datornamnet i kommandosträngarna så att det stämmer med din dator. b) Öppna Visual Studio kommandoprompt. Alla Program->Microsoft Visual Studio->Visual Studio Tools->Visual Studio Command Prompt. c) Navigera till katalogen där du sparade CacheSetup.cmd filen. d) Skriv CacheSetup. Redovisning av uppgiften sker i form av en enkel laborationsrapport, gärna i pdfformat, med koden bifogad som text.

3 Övning 1 Lägg till en inloggningssida I denna övning skall du skapa en inloggningssida med en Login kontroll för att logga in existerande användare och skapa en guide för att registrera nya användare. Uppgift Detaljbeskrivning 1. Öppna webbsiten a. Kopiera alla filer från labb 3 till en ny katalog som du döper till Lab4. Öppna mappen i filhanteraren. I mappen App_Data kan det finnas två databasfiler. Radera dessa i så fall. Beroende på vilken version du använder så kan det tänkas att App_Data saknas helt och hållet. a. Starta Microsoft Visual Studio och använd FileOpen Web Site och navigera till Lab4 och öppna den. 2. Lägg till en sida till din site a. Lägg till en ny sida med namn Login.aspx på samma sätt som tidigare. Använd Web Form som template och kontrollera som vanligt att Place code in separate file och Select master page rutorna är ikryssade. Kolla även så att C# är valt som språk. Add. b. Välj Site.master som master page. c. Ändra Title= Untitled Page till Title= MyComics Login i Login.aspx-sidans @ Page direktiv. d. Skapa två behållare innanför Content-elementet med ID= Content2, genom att lägga till följande kod: <div id= LoginLeft > </div> <div id= LoginRight > </div> e. Därefter lägger du till följande kod i Master.css: #LoginLeft { display:inline-block; width:30%; vertical-align:top; } #LoginRight { display:inline-block; border-left-color: lightgray; border-left-style: solid; border-left-width: 2px; } 3. Lägg till en Login kontroll och skapa en användarguide a. Gå till Login.aspx. Välj design-läge. b. Dra en Login kontroll till den vänstra cellen på sidan. c. Dra en CreateUserWizard kontroll till den högra diven på sidan. Om det krånglar att placera dessa två komponenter i rätt div, så kan du bara släppa dem vart som

4 helst. Sedan går du till source-läget och flyttar om i koden så att de hamnar rätt. d. Öppna Web.config. Lägg till följande kod på lämpligt ställe inuti <configuration> elementet: <appsettings> <add key="validationsettings:unobtrusivevalidationmode" value="none" /> </appsettings> e. Starta Login.aspx. Resultatet skall se ut ungefär så här: NOTE: Omdu vill fixatill utseendet på sidan, använd Auto Format kommandot i både Login Tasks och CreateUserWizard Tasks menyerna. f. Stäng webbläsaren och återvänd till Visual Studio.

5 Övning 2 Aktivera autentisering och auktoriseringsinställningar. I denna övning skall du aktivera autentisering för formulär och konfigurera admin-sidan så att den endast är åtkomlig för autentiserade användare. Du skall även konfigurera applikationen att använda ASP.NET:s SQL Server membership provider och skapa en databas för ändamålet. Uppgift 1. Flytta adminsidan 2. Kör Guiden Konfigurera säkerhet (Security Setup Wizard om du har engelskt operativsystem) Detaljbeskrivning a. Högerklicka på C:\..\Lab4 i Solution Explorer och välj New Folder. Döp mappen till Secure. b. Flytta Admin.aspx och Admin.aspx.cs till Secure mappen. Öppna Web.config, lägg till följande kod inuti <system.web> elementet: <rolemanager enabled="true" /> Lägg till följande inuti <connectionstrings> elementet: <remove name="localsqlserver"/> <add name="localsqlserver" connectionstring="integrated Security=SSPI;Data Source=DATORNAMN; Initial Catalog=aspnetdb;" providername="system.data.sqlclient"/> Använd därefter Visual Studio:s WebsiteASP.NET Configuration kommandot för att visa Web Site Administration Tool. (verktyget kommer att använda samma språk som operativsystemet, här på svenska) a. Klicka på Säkerhet fliken i Webbplatsadministration (eller på länken Säkerhet på sidan). b. Klicka Använd guiden Konfigurera säkerhet om du vill konfigurera säkerhet steg för steg. för att starta Guiden Konfigurera säkerhet. c. I steg 1 i Guiden Konfigurera säkerhet ( Välkommen ), Nästa. d. I steg 2 ( Välj Åtkomstmetod ), välj Från internet Nästa. e. I steg 3 ( Datalager ), Nästa. f. I steg 4 ( Definiera roller ), Nästa. Du kommer att ordna med role management senare. g. I steg 5 ( Lägg till ny användare ), fyll i formuläret för att skapa en användare. (Glöm inte bort den användare och lösen du väljer för du behöver dem senare. Använd t.ex. Nisse och P@ssw0rd. Notera att Webbplatsadministration kräver ett starkt lösenord därav det komplicerade förslaget. Klicka sedan på knappen Skapa användare följt av Nästa.

6 h. I steg 6 ( Lägg till nya åtkomstregler ), Välj foldern Secure I trädvyn under Välj en katalog för denna roll enligt nedan. Välj sedan Anonyma användare och Neka och klicka på Lägg till den här regeln för att lägga till den i Web.config denying unauthenticated users access to the Secure directory. Klicka Nästa. i. I steg 7 ( Klart ), Klicka Slutför. j. Gå till Visual Studio och öppna Web.config och försök hitta de ändringar du just gjort med guiden. Du bör inte hitta något. k. Det du just gjort har inte sparats i denna Web.config utan i en ny lokal Web.config som finns i katalogen Secure. Denna syns inte förrän du högerklickar på mappen Secure och väljer Refresh. l. Öppna Secure\Web.config och titta på <authorization> elementet. Detta är de inställningar du skapade med guiden. Den nekar anonyma användare tillträde till alla sidor som ligger i mappen Secure. m. I mappen App_data har det nu skapats två databasfiler som används för grupphantering och inloggning. Dessa är osynliga i Sulotion Explorer tills man har gjort Refresh på katalogen App_data, den ena av filerna syns då. Filerna heter ASPNETDB.mdf och aspnetdb.log.ldf.

7 När du skapar en användare med webbplatsadministration så skapas en SQL Server Express databas som ligger i din applikation. Denna databas innehåller säkerhetsinställningarna för applikationen. n. Öpnna Server Explorer. Under Data Connections, högerklicka på ASPNETDB.MDF, välj Modify Connection, klicka på Advanced. Klicka sedan på OK utan att göra några förändringar. Klicka därefter på OK igen, utan att göra några förändringar. Därefter bör det komma en ruta som erbjuder dig att uppgradera din databasfil, klicka då på YES/OK. o. Om du vill så kan du öppna databasen och se om du kan hitta användaren du just skapat. 3. Testa säkerhetsinställni ngarna a. Markera Default.aspx i Solution Explorer och starta applikationen. Kontrollera så att Default.aspx (inte login sidan) visas i webbläsaren. b. Ändra adressen i webbläsaren, byt Default.aspx mot Secure/Admin.aspx. Nu skall Login.aspx visas enligt nedan. c. Logga in med det användarnamn och lösenord du skapade i Security Setup Wizard. Verifiera att Admin.aspx dyker upp i webbläsaren. d. Klicka på webbläsarens bakåt-knapp. e. Ändra Default.aspx i webbläsarens adressrad till Secure/Admin.aspx igen. Verifiera att Admin.aspx dyker upp utan att du behöver logga in igen. f. Stäng webbläsaren och återvänd till Visual Studio.

8 Övning 3 Lägg till navigations länkar på master page Du skall nu lägga till navigationslänkar på master page för att kunna navigera till Admin.aspx och för att logga in och ut. Länken till Admin blir en vanlig hyperlänk kontroll, länken till logga in blir en Logg in status kontroll. Du skall även lägga till en publik metod till master page som möjliggör att login sidan gömmer dessa länkar. Uppgift 1. Lägg till länkar på master page Detaljerad beskrivning a. Öppna Site.master i kod läge. b. Leta reda på den del som innehåller hyperlänken (div id= header) som pekar på ~/Images/topp_logotyp.gif. Just nu ser koden ut så här: <asp:hyperlink ID="HyperLink1" ImageUrl="~/Images/topp_logotyp.gif" NavigateUrl="~/Default.aspx" Runat="server">Hyperlink</asp:HyperLink> c. Ändra koden så att den ser ut så här: <asp:hyperlink ID="HyperLink1" runat="server" ImageUrl="~/Images/topp_logotyp.gif" NavigateUrl="~/Default.aspx">HyperLink</asp:HyperLink> <div id="headerlinks"> <asp:panel ID="LinksPanel" runat="server"> <asp:hyperlink ID="AdminLink" Text="Admin" NavigateUrl="~/Secure/Admin.aspx" runat="server" EnableTheming="false" /> <span> </span> <asp:loginstatus ID="LoginStatusControl" runat="server" EnableTheming="false" /> </asp:panel> </div> d. Öppna Master.css och lägg till följande kod: #header { width: 100%; (finns sedan tidigare) background-color: lightcoral; (finns sedan tidigare) font-family: Verdana; font-size: 10pt; } a { text-decoration: none; }

9 #headerlinks { float:right; vertical-align:top; margin-right: 5px; } e. Kör Default.aspx i webbläsaren och kolla så att länkarna finns på plats och att de fungerar. f. Stäng webbläsaren och återvänd till Visual Studio. 2. Göm länkarna på inloggnníngssidan a. Öppna Site.master.cs och lägg till följande metod till Site klassen: C# public void HideBannerLinks () { LinksPanel.Visible = false; } b. Öppna Login.aspx i design läge och dubbelklicka på sidan för att lägga till en Page_Load metod i Login.aspx.cs. c. Lägg till följande kod till Page_Load metoden: C# ((Site) Master).HideBannerLinks (); d. Kör Default.aspx I webbläsaren. e. Klicka på Admin länken uppe till höger. När Login.aspx visas så skall inte länkarna Login och Admin synas. f. Logga in med den användare och det lösenord du skapat tidigare. Du skall nu vidarebefordras till Admin.aspx och länken uppe till höger skall vara Logout istället för Login enligt nedan.

10 3. Ändra logout händelsen. a. Klicka på Logout länken uppe till höger. Vad händer? b. Stäng webbläsaren och återvänd till Visual Studio. c. Det vore ju snyggare om man återvände till Default.aspx hellre än till Login.aspx vid utloggning. För att fixa detta, öppna Site.master i design läge och välj LoginStatus kontrollen. d. Ange LoginStatus kontrollens LogoutAction egenskap till Redirect. e. Ange LoginStatus kontrollens LogoutPageUrl egenskap till ~/Default.aspx. f. Starta Default.aspx igen och navigera till Admin.aspx, logga in. g. Klicka Logout och kontrollera så att du vidarebefordras till Default.aspx. Länken uppe till höger skall visa Login igen. h. Logga in och gå till Admin.aspx. i. Klicka på loggan uppe till vänster. Nu skall du vara tillbaka på Default.aspx och länken uppe till höger ( LoginStatus ) skall visa Logout, inte Login. j. Stäng webbläsaren och återvänd till Visual Studio.

11 Övning 4 Använd rollbaserad säkerhet. I denna skall du använda ASP.NET:s rollhanterare och konfigurera den för att använda SQL server som provider. Du skall även skapa ett användarkonto för administratören och en grupp administratörer. Du skall koppla Administrator kontot till gruppen Administrators group. Sedan skall du modifiera sidans säkerhetsinställningar så att endast administratören kan visa Admin.aspx. Uppgift 1. Aktivera ASP.NET rollhanterare (role manager om du har engelskt operativsystem) 2. Skapa en Administrators grupp 3. Skapa ett Administrator Konto Detaljerad beskrivning a. Använd WebsiteASP.NET Configuration i Visual Studio för att starta webbplatsadministration. b. Klicka på fliken Säkerhet. c. Klicka på länken Aktivera roller. d. Du har nu gjort en förändring i Web.config. Öppna och titta i Web.config om du är nyfiken. e. Klicka på länken Skapa eller hantera roller på säkerhetssidan. f. Skriv Administrators och klicka Lägg till roll. g. Klicka på Bakåt längst ner till höger för att komma tillbaka till säkerhetssidan. a. Klicka på Skapa användare på säkerhetssidan i webbplatsadministration. b. Fyll i formuläret enligt nedan, se till så att rutan Administrators är ikryssad, jag föreslår att ni använder samma lösenord som tidigare så är det lättare att komma ihåg, ex. P@ssw0rd. c. Klicka på Skapa användare. d. Klicka på Bakåt längst ner till höger för att komma tillbaka till säkerhetssidan. 4. Begränsa tillträdet till Admin.aspx till Administrators a. Klicka på länken Hantera åtkomstregler på säkerhetssidan. b. Välj mappen Secure enligt nedan. Klicka sedan på länken Ta bort för att radera den regel som nekar anonyma användare tillträde till filerna i mappen Secure. Svara Ja när du ombeds bekräfta borttagandet.

12 c. Klicka på Lägg till ny åtkomstregel. d. Fyll i formuläret Lägg till ny åtkomstregel enligt nedan för att ge rollen Administrators tillträde till mappen Secure. Kontrollera så att mappen Secure är vald i trädstrukturen innan du klickar på OK. e. Klicka på Skapa åtkomstregler igen. f. Fyll i Lägg till ny åtkomstregel formuläret som visas nedan för att skapa en regel som nekar alla användare åtkomst till mappen Secure. Åter igen, se till att mappen Secure är vald i trädstrukturen innan du klickar på OK. g. Öppna Web.config filen I Secure mappen och inspektera <authorization> elementet. Vilka förändringar gjorde Web Site Administration Tool? h. Starta Default.aspx och klicka på Admin länken uppe I det högra hörnet. i. Logga in med det användarnamn och lösenord som du registrerade i övning 3. Vad händer? j. Försök att logga in igen, men nu som Administrator. Verifiera att Admin.aspx visas.

13 Sammanfattning En kort sammanfattning av vad du lärt dig i denna labb: Hur du skapar en inloggningssida med Login och CreateUserWizard kontroller. Hur du skapar en ASP.NET databas för att lagra uppgifter om medlemskap, roller mm. Hur du använder Webbplatsadministration för att hantera medlemskap och roller. Hur du använder Webbplatsadministration för att aktivera inloggning via formulär och koppla enkel säkerhetshantering till detta. Hur interaktivt kommunicera med en master page från en content page. Hur du använder LoginStatus kontrollen för att visa och gömma inloggningslänkar. Hur du ändrar mål vid logout för LoginStatus kontrollen. Hur du aktiverar ASP.NET rollhanteringstjänsten. Hur du skapar roller och hur du tilldelar användare till roller. Hur du skapar rollbaserade tillträdesregler för din Web site