Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten...

54
Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Transcript of Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten...

Page 1: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

1 / 54

Web Technologies mit ASP.NETWeb Technologies mit ASP.NET

Thorsten Planeth(Microsoft Student Partner, MCP)

Page 2: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

2 / 54

GliederungGliederung

• Einleitung• ASP.NET• Ereignisse• Datenbindung• State Management• Sicherheit• Modularisierung• Webservices• Zusammenfassung

Page 3: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

3 / 54

EinleitungEinleitung

1. Grundlagen Web2. HTTP-Response3. Kurzübersicht4. Einordnung in die Architektur

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 4: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

4 / 54

1. Grundlagen Web1. Grundlagen Web

• Client-Server-Architektur• Protokoll: HTTP, HTML• Client: Thin-Clients,

JavaScript, VBScript, heterogene Webbrowser

• Server: Windows 2003 Server, IIS, ASP.NET (Aktive Server Pages .NET)

• Entwicklungsumgebungen:– Visual Studio– Webmatrix– Notepad

ASP.NET

IIS

Windows 2003 Server

InternetInternet

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 5: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

5 / 54

ASP.NET-Anwendung

2. HTTP-Response2. HTTP-Response

ASP.NET-Engine PHP-Engine ISAPI-Engine

Internet Information Server

Internet Security and Acceleration Server

Windows 2003 Server

Webbrowser

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 6: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

6 / 54

3. Kurzübersicht3. Kurzübersicht

Client

Web-Server

Web-ServerBrowserClient-Software

Webanwendung Webservice

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 7: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

7 / 54

4. Einordnung in die Architektur4. Einordnung in die Architektur

GUI Win-GUI ASP.NET Webanwendungen

Webservice

Businesslogik C#, VB.NET etc…

Dataaccess ADO.NET

Datenbank SQL Server, MSDE, (Access)

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 8: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

8 / 54

ASP.NETASP.NET

1. Demo (1)2. Namespace3. ASP.NET Web Forms4. Teile einer ASP.NET Web-Form5. Das ASP.NET Prinzip6. Trennung von Form und Funktion7. ASP.NET Server Controls8. Standard ASP.NET Controls9. Demo (2)

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 9: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

9 / 54

1. Demo1. Demo

• ASP.NET-Webanwendung• Besondere Dateitypen

– Web.config– Global.asax– Webform (Endung *.aspx)

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 10: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

10 / 54

2. Namespace2. Namespace

System.Web

UI

Design

WebControls

HtmlControls

Services

Configuration

Description

Discovery

Protocols

Caching

Configuration

Hosting

Mail

SessionState

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 11: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

11 / 54

3. ASP.NET Web Forms3. ASP.NET Web Forms

• Controlbasiertes, eventgesteuertes Modell für Web User Interface– Sauber gekapselt, weniger Code

• Common Language Runtimeführt den Code aus– Visual C#, Visual Basic®, JScript™

– Bessere Performance

• Keine Konflikte mit ASP– Web Forms sind “.ASPX”-Dateien

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 12: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

12 / 54

4. Teile einer ASP.NET Web Form4. Teile einer ASP.NET Web Form

Code BlocksCode Blocks

Static TextStatic Text

Control TagsControl Tags

HTML TagsHTML Tags

DirectivesDirectives

Data Binding Data Binding ExpressionsExpressions

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 13: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

13 / 54

5. Das ASP.NET Prinzip5. Das ASP.NET Prinzip

POST /site/form1.aspx.....

INETINFO.EXE

ASPNET_WP.EXE

<%@ WebService language="c#" class=<%@ WebService language="c#" class=using System.Web.Services;using System.Web.Services;

[WebService(Description="Provides a v[WebService(Description="Provides a vpublic class Simple public class Simple { [WebMethod(Description=„{ [WebMethod(Description=„Returns a nice greeting")] Returns a nice greeting")] public string Hello()public string Hello() {{ return "Hello";return "Hello"; }}}}

Page Class

ASPNET_ISAPI.DLL

Assembly

HTTP 1.1 200 OK.....

Instanzieren

Kompilieren

form1.aspx form1_aspx.dll

HTTP Request

HTTP Response

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 14: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

14 / 54

6. Trennung von Form und 6. Trennung von Form und FunktionFunktion

• Trennung der Funktionalität (Code) vom Layout hat viele Vorteile– In ASP.NET heißt dies „Code Behind“– „Inherits“ Attribut der @Page Direktive

• Code-behind Files – Können vorkompiliert sein oder „on

demand“ übersetzt werden – „SRC“-Attribute der Page Direktive– Standard bei Visual Studio.NET:

vorkompilierte Code-Behind-Files

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 15: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

15 / 54

7. ASP.NET Server Controls7. ASP.NET Server Controls

• Server Controls kapseln ein bestimmtes Verhalten (inklusive User Interface)– Ähnlich zu Visual Basic®

– Deklarativ mit runat="server"

• Controls erzeugen HTML– Unterschiedliche Clients unterstützbar– DHTML, HTML 3.2, etc.

• Eingabe des Clients wird strukturiert– Attribute für die Eingabedaten– Auslösen von Ereignisse

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 16: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

16 / 54

8. Standard ASP.NET Controls8. Standard ASP.NET Controls

• HTML Controls– Entsprechen den HTML Tags 1:1

• Web Controls– Rendern Client-spezifisches HTML– Streng typisiertes Objektmodell– Manche erzeugen ein HTML tag:

Button, TextBox, DropDownList– Andere erzeugen komplexes HTML

inklusive Script-Code:DataGrid, Calendar, Validators

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 17: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

17 / 54

9. Demo9. Demo

• Photoarchiv (1)…Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 18: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

18 / 54

EreignisseEreignisse

1. Events2. Abfolge der Events3. Ereignisse bei einem ASP.NET-Aufruf

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 19: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

19 / 54

1. Ereignisse1. Ereignisse

• Ereignisse werden: – Vom Client ausgelöst– Im Server-Code behandelt

• Benötigen ein Postback vom Client• Die Daten werden automatisch wieder

eingetragen– ViewState-Property ist als Hidden Form

Field implementiert– Jedes Control hat eine EnableViewState-

Property

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 20: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

20 / 54

2. Abfolge der Events2. Abfolge der Events

Page_LoadPage_Load

Page_UnloadPage_Unload

PostBackPostBack1. Change Events1. Change Events

2. Action Events2. Action Events

Page wird geladen und Control-Hierarchy erzeugtPage wird geladen und Control-Hierarchy erzeugt

Page-Objekt wird gelöschtPage-Objekt wird gelöscht

Control-Hierarchie wird gerenderedControl-Hierarchie wird gerendered

Textbox1_ChangedTextbox1_Changed

Button1_ClickButton1_Click

Ko

stb

are

Zei

t

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 21: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

21 / 54

1. Application_Start (Anwendungsweit)2. Application_BeginRequest (Aufrufweit)3. Application_AuthenticateRequest (Aufrufweit)4. Session_Start (Sessionweit)5. Page_Init (Aufrufweit)6. Page_Load (Aufrufweit)

• Programmausführung…??? Application_Error (Aufrufweit)

7. Application_EndRequest (Aufrufweit)8. Session_End (Sessionweit)9. Application_End (Anwendungsweit)

3. Ereignisse bei einem ASP.NET-3. Ereignisse bei einem ASP.NET-AufrufAufruf

Einleitung ASP.NET Ereignisse DatenbindungState Management

Page 22: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

22 / 54

4. Demo4. Demo

• Datei-UploadEinleitung ASP.NET Ereignisse DatenbindungState Management

Page 23: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

23 / 54

DatenbindungDatenbindung

1. Web Forms Datenbindung2. Simple Binding3. List Binding4. Demo

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 24: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

24 / 54

1. Web Forms Datenbindung1. Web Forms Datenbindung

• Ein einfacher, deklarativer Weg um Web UI Controls an Daten zu binden– “Simple” Binding eines Properties eines

Controls– “List” Binding an eine Datenquelle:

DataGrid, DropDownList• Unterstützung einer Vielzahl von

Datenquellen• Vorsicht: „One way snapshot model“

– Im Code muss angegeben werden wann das Binding stattfindet

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 25: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

25 / 54

2. Simple Binding Syntax2. Simple Binding Syntax

• Binden an:– Eine Property der Seite– Rückgabewert einer Methode– Eine Property eines anderen Controls

• Schritt 1: Binding setzen– Deklarativ (in HTML):

<asp:Label Text=<%# custID %> … />

• Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs)

Label1.DataBind() End Sub

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 26: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

26 / 54

2. Simple Binding Beispiel2. Simple Binding Beispiel

<%@<%@<%@ Page language=“VB” %><%@ Page language=“VB” %><script runat=server><script runat=server>

Sub Page_Load(s as Object, e as EventArgs)Sub Page_Load(s as Object, e as EventArgs) Label1.DataBind()Label1.DataBind()

End SubEnd Sub</script></script><html><html> <body><body>

<asp:Label id=Label1 runat=server<asp:Label id=Label1 runat=server Text= Text=<%# DateTime.Now %> <%# DateTime.Now %> />/>

</body></body></html></html>

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 27: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

27 / 54

3. List Binding Syntax3. List Binding Syntax

• Alle Klassen die IEnumerable implementieren sind Datenquellen

• Schritt 1: Binding setzen– Deklarativ:<asp:DataGrid DataSource=<%# ds %> … />

– Imperativ:DataGrid1.DataSource = ds

• Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs)

DataGrid1.DataBind() End Sub

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 28: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

28 / 54

3. List Binding Datenquellen3. List Binding Datenquellen

• ADO.NET Klassen– DataReader– DataSet– auch DataTable, DataView

• Andere IEnumerable Typen– Arraylist– Array– Hashtable– …

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 29: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

29 / 54

3. DataList Beispiel3. DataList Beispiel

<%@ <%@ script runat=server>script runat=server>Sub Page_Load(s as Object, e as EventArgs)Sub Page_Load(s as Object, e as EventArgs)

DataList1.DataSource = GetCustData()DataList1.DataSource = GetCustData() DataList1.DataBind()DataList1.DataBind()

End SubEnd Sub</script></script><html><html> <body><body>

<asp:DataList id=DataList1 runat=server><asp:DataList id=DataList1 runat=server> <ItemTemplate><ItemTemplate><%# Container.DataItem %><%# Container.DataItem %> </ItemTemplate></ItemTemplate>

</asp:DataList></asp:DataList> </body></body></html></html>

ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 30: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

30 / 54

4. Demo4. Demo

• Photoarchiv (2)ASP.NET Ereignisse DatenbindungState ManagementSicherheit

Page 31: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

31 / 54

State ManagementState Management

1. State Management2. Arten von State 3. ASP.NET Session Property4. Cookieless Sessions 5. Session State im SQL Server 2000

Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 32: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

32 / 54

1. State Management1. State Management

• HTTP ist verbindungslos• Daher ist wichtig,

wo Zustand gehalten wird• ASP.NET unterstützt beim Verwalten

Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 33: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

33 / 54

2. Arten von State2. Arten von State

• Application State– Globale Applikationseinstellungen – Am besten für read-only Daten

• Session State– Enthält die Ergebnisse bisheriger Interaktionen– Beispiel: Warenkorb Online-Shopping

• Cookie State – Zustand der im Client gehalten wird

• Control State – Inhalt der einzelnen Controls

Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 34: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

34 / 54

3. ASP.NET Session Property3. ASP.NET Session Property

• Session Property kann programatisch gefüllt werden

• Speicherort kann konfiguriert werden (in web.config)– Speicherung im Prozess– Speicherung in einem „state server“– Speicherung in einem SQL Server

• SessionID kann über Cookie oder URL übergeben werden– Konfigurierbar über web.config

Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 35: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

35 / 54

4. Cookieless Sessions4. Cookieless Sessions

• Über web.config File konfigurierbar<configuration> configuration>

<system.web><system.web> <sessionstate cookieless="true"/><sessionstate cookieless="true"/> </system.web></system.web></configuration></configuration>

• Automatische Verwaltung

Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 36: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

36 / 54

5. Demo5. Demo

• Photoarchiv (3)Ereignisse DatenbindungState ManagementSicherheitModularisierung

Page 37: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

37 / 54

SicherheitSicherheit

1. Authentifizierung• Formularbasierte Authentifizierung• Windows-Authentifizierung• MS Passport

2. Autorisierung3. Verschlüsselung

State ManagementSicherheitModularisierungWebservices

Page 38: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

38 / 54

1. Authentifizierung1. Authentifizierung

• Konfiguration erfolgt über Web.Config

• Wahl zwischen– Formularbasierter

Authentifizierung – Windows-

Authentifizierung – MS Passport-

Authentifizierung

State ManagementSicherheitModularisierungWebservices

Page 39: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

39 / 54

1. Authentifizierung: 1. Authentifizierung: FormularbasiertFormularbasiert

• Benutzerdaten werden in der Anwendung gespeichert

• Anwendung entscheidet über Authentifizierung

• Findet Anwendung im Portal

• Vorteile:– Leichte Administration– Geringer

Implementierungsaufwand

State ManagementSicherheitModularisierungWebservices

Page 40: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

40 / 54

1. Authentifizierung: Windows1. Authentifizierung: Windows

• Authentifizierung erfolgt über Windows-Anmeldedaten

• Benutzerdaten sind in der Win32-Accesstable gespeichert

• Vorteil:– Im Windows-Intranet erfolgt die

Authentifizierung automatisch• Nachteil:

– Umständliche Administration bei vielen Usern

State ManagementSicherheitModularisierungWebservices

Page 41: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

41 / 54

1. Authentifizierung: MS Passport 1. Authentifizierung: MS Passport (1/3)(1/3)

Aus der Benutzersicht (1/2)Aus der Benutzersicht (1/2) Man hinterlegt einen Login und ein Passwort Man hinterlegt einen Login und ein Passwort

beim .NET Passport Service.beim .NET Passport Service. Dazu kann man weitere Daten speichern, wie z.B. Dazu kann man weitere Daten speichern, wie z.B.

PostadressePostadresse Meldet man sich bei einer Webseite an, die Meldet man sich bei einer Webseite an, die

Passport nutzt, wird man direkt an Passport Passport nutzt, wird man direkt an Passport weitergeleitet zum „authentifizieren“.weitergeleitet zum „authentifizieren“.

Passport schickt dann an die Webseite eine Passport schickt dann an die Webseite eine Nachricht, ob der Benutzer auch das richtige Nachricht, ob der Benutzer auch das richtige Passwort wusste und ggf. die Adressdaten.Passwort wusste und ggf. die Adressdaten.

State ManagementSicherheitModularisierungWebservices

Page 42: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

42 / 54

1. Authentifizierung: MS Passport 1. Authentifizierung: MS Passport (2/3)(2/3)

Aus der Benutzersicht (2/2)Aus der Benutzersicht (2/2) Der Vorteil: Ich brauche bei einer Bestellung meine Der Vorteil: Ich brauche bei einer Bestellung meine

Adressdaten nicht ständig eintippen.Adressdaten nicht ständig eintippen. Der Vorteil: Single SignOnDer Vorteil: Single SignOn

Ich muß mir immer nur einen Login/Passwort-Ich muß mir immer nur einen Login/Passwort-Kombo merkenKombo merken

Der Nachteil: Knackt man den Account hat man Der Nachteil: Knackt man den Account hat man Zugriff auf viele andere.Zugriff auf viele andere.

State ManagementSicherheitModularisierungWebservices

Page 43: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

43 / 54

1. Authentifizierung: MS Passport 1. Authentifizierung: MS Passport (3/3)(3/3)

• Zurzeit findet die Form-Authentifikation statt• Identification soll über MS Passport

stattfinden• „Purpose

Microsoft® .NET Passport is a core component of the Microsoft .NET initiative. The .NET Passport single sign-in (SSI) service enables you to give consumers a quick, convenient way to sign in to your site.“

• Vorteile:– Zentrale Benutzeridentifikation– Benutzer braucht sich nur ein Login +

Passwort merken• Nachteil:

– Daten werden in Amerika von Microsoft gehalten und unterliegen dem amerikanischen Datenschutz (europäischer Datenschutz ist sehr viel strenger)

– Großer Aufwand in der Implementierung– Was ist, wenn

State ManagementSicherheitModularisierungWebservices

Page 44: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

44 / 54

2. Autorisierung2. Autorisierung

• Rollenkonzept• Autorisierung kann

ebenfalls in der Web.Config eingestellt werden

• Es kann statisch festgelegt werden, welche Datei von welcher Rolle oder welchem User ausgeführt werden darf

State ManagementSicherheitModularisierungWebservices

Page 45: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

45 / 54

DemoDemo

• Photoarchiv (4)State ManagementSicherheitModularisierungWebservices

Page 46: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

46 / 54

3. Verschlüsselung3. Verschlüsselung

• Machbar über SSL-Protokoll (Secure Socket Layer)

• 2 Schritte:– Zertifikat im IIS einrichten– Codezeile einfügen

if(!Request.IsSecureConnection)Response.Redirect("https" + Request.Url.AbsoluteUri.Substring(4,Request.Url.AbsoluteUri.Length-4));

State ManagementSicherheitModularisierungWebservices

Page 47: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

47 / 54

ModularisierungModularisierung

• Häufig genutzter Code wiederverwenden!

• Webusercontrol• Webcustomcontrol

– Gerendert– Kombiniert

Sicherheit ZusammenfassungModularisierungWebservices

Page 48: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

48 / 54

Modularisierung (Demo)Modularisierung (Demo)

• Photoarchiv (5)Sicherheit ZusammenfassungModularisierungWebservices

Page 49: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

49 / 54

WebservicesWebservices

• Windows-Service über das Internet verfügbar machen Webservices

• Szenarien:– Zugriff aus Windowsanwendung– Zugriff aus Webanwendung– Zugriff vom Client einer Webanwendung

Sicherheit ZusammenfassungModularisierungWebservices

Page 50: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

50 / 54

Webservices (Demo)Webservices (Demo)

• Photoarchiv (6)Sicherheit ZusammenfassungModularisierungWebservices

Page 51: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

51 / 54

ZusammenfassungZusammenfassung

• ASP.NET ist die .NET Web Application Server Plattform• Controlbasiert, eventgetrieben

– Vereinfachte Entwicklung– Wartbarer Programmcode (Trennung von Design (HTML) und Code

(C#))– Gerätespezifische Darstellung– Wiederverwendbarkeit– Bessere Sprachunterstützung

• Vollwertige Programmiersprache• Ganzheitlicher Ansatz von DB bis Web• auch kostenlos: Webmatrix• Synergieeffekte durch Kombinationen

– Sharepoint Portal-Server– Content-Management-Server– Windows-Server-Dienste

Sicherheit ZusammenfassungModularisierungWebservices

Page 52: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

52 / 54

FragenFragen

Vielen Dank für die Aufmerksamkeit!

Haben Sie noch Fragen?

Page 53: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

53 / 54

Wie geht es weiter auf der Wie geht es weiter auf der STC…?STC…?

Heute 16:30 - 18:30 Workshop „VisualStudio .NET Windows Forms und Web Forms“ (Andreas Heil)

17:00 – 18:00 „SharePoint Portal Server Development“(Martin Saternus)

Nachtwanderung

Morgen 09:00 - 11:00 Workshop „ADO.NET“(Torsten Weber & Rolf Kluge)

10:30 – 11:30 „ASP.NET für Fortgeschrittene“(Holger Schwichtenberg)

11:30 - 13:30 Workshop „ASP.NET und Webservices“ (Torsten Weber & Rolf Kluge)

Page 54: Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Web Technologies mit ASP.NET

STC 02. – 03. Juni 2004

54 / 54

Links & LiteraturLinks & Literatur

• Links:– http://www.asp.net– http://msdn.microsoft.com/– http://www.codezone.de/– http://www.asp.net/webmatrix/download.aspx?

tabindex=4

• Bücher:– ASP.NET Kochbuch mit C# - von Patrick A.

Lorenz – Microsoft ASP. NET Entwicklerbuch.

von Holger Schwichtenberg