Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1.NET web szolgáltatások ASP.NET harmadik rész XML, XPATH Bilicki Vilmos

Hasonló előadás


Az előadások a következő témára: "1.NET web szolgáltatások ASP.NET harmadik rész XML, XPATH Bilicki Vilmos"— Előadás másolata:

1 1.NET web szolgáltatások ASP.NET harmadik rész XML, XPATH Bilicki Vilmos

2 2 Az előző előadás tartalma ASP.NET Saját vezérlők gyártása Állapot kezelés Alkalmazás állapot Viszony állapot Állapot mentés Süti URL Gyorstár kezelés Cache objektum Kimeneti gyorstár Web alkalmazás telepítése

3 3 A mai előadás tartalma ASP.NET felasználó azonosítás IIS Név nélküli Alap Kivonatolt Windows beágyazott Űrlap alapú Microsoft Passport XML kezelés XML dokumentum XPATH kifejezések Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

4 4 Források Microsoft 2310B official curriculum Microsoft 1913A official curriculum Eszköz

5 5 ASP.NET azonosítási megoldások Windows-alapú azonosítás Az operációs rendszertől és az IIS-től függ Űrlap alapú hitelesítés Az azonosítatlan kérések egy HTML űrlapra lesznek átirányítva A felhasználó itt bizonyítja azonosságát Egy sütit kap ajándékba Microsoft Passport hitelesítés Központosított, egyszeri belépés A Microsoft Passport egy XML Web szolgáltatás

6 6 Összehasonlítás MódszerElőnyökHátrányok Windows alapú  A meglévő infrastruktúrát használja  Érzékeny adatokhoz megfelelő  Nem alkalmas internetre Űrlap alapú  Alkalmas internetre  Minden klienst támogat  Süti alapú Microsoft Passport  Sok helyre egyszeri belépés  Nem kell foglalkozni a felhasználói adatbázissal  A regisztrációs oldal testreszabható  Süti alapú  Nem ingyenes

7 7 IIS azonosítási megoldások Módszer Biztonsági szint Leírás AnonymousNincs (IUSR_gepnev )  Nincs azonosítás Alap Alacsony (közepes ha SSL-t haszáluk)  A név és jelszó titkosítítlan  Titkosítható SSL-lel  A HTTP specifikáció része KivonatoltKözepes  Az információt kivonatolva küldi el  Szügséges legalább Internet Explorer 5  Szükség van Active Directory-ra Windows integráltMagas  NTLM-et vagy Kerberos-t használ  Intranetre jó, Internetre nem  A tűzfalak nem engedik át

8 8 DEMÓ IIS IIS azonosítási eljárások

9 9 Secure Sockets Layer SSL titkosítási réteg: Adat titkosítás -Csak a címzett érti meg Kölcsönös azonosítás -Digitális tanúsítvány segítségével Adat integritás -Ne írhasson bele észrevétlenül harmadik fél Fölötte tipikusan a HTTP protokoll használatos

10 10 Windows alapú azonosítás(1) IIS: Alap Kivonat Integrált Windows azonosítás A Web.config-ban is be kell álítani 11 22

11 11 Windows alapú azonosítás(2) Jogosultság beállítás Web.config IIS infromáció kérés 44 33

12 12 Felhasználói infó olvasása Azonosítás után olvashatjuk a felhasználói információkat lblAuthUser.Text = User.Identity.Name; lblAuthType.Text = User.Identity.AuthenticationType; lblIsAuth.Text = User.Identity.IsAuthenticated; lblAuthUser.Text = User.Identity.Name; lblAuthType.Text = User.Identity.AuthenticationType; lblIsAuth.Text = User.Identity.IsAuthenticated;

13 13 Űrlap alapú azonosítás A kliens lekér egy oldalt Jogosultságok ASP.NET Űrlap azonosítás Nincs Azonosítva Azonosítva Logon Page (Users enter their credentials) Azonosítva Azonosítási süti Jogosultságok Nincs Azonosítva Hozzáférés megtagadva Requested Secure Page  IIS Username Password Someone *********** Submit

14 14 Engedélyezése IIS név nélküli bejelentkezés Web.config Jogosultságok Belépő űrlap létrehozása < forms name=".namesuffix" loginUrl="login.aspx" /> < forms name=".namesuffix" loginUrl="login.aspx" />

15 15 System.Web.Security Felhasználó ellenőrzése Sütiből olvasás User.Identity.Name FormsAuthentication.RedirectFromLogi nPage Belépő űrlap private void cmdLogin_Click(object sender, EventArgs e) { if (login(txt .Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txt .Text, false); } private void cmdLogin_Click(object sender, EventArgs e) { if (login(txt .Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txt .Text, false); }

16 16 Microsoft Passport Website.msft Client Passport.com A kliens lekér egy oldalt Az oldal átirányítja a Passport.com-ra A kliens bejelentkezik a Passport.com-ra Süti, jeggyel 66 Kliens csatlakozik a weboldalunkhoz A host visszaad egy Web űrlapot és egy sütit

17 17 XML Adat reprezentáció XML-ben XML dokumentumok transzformációja XSLT- vel

18 18 XML dokumentum struktúra XML deklaráció id="123" start="1997"> Carol Philips id="456" start="2000"> xmlns="urn:nwtraders"> Dokumentum elem Elemek Tulajdonságok Szöveg tartalom Névterek Mike Reid 91000

19 19 Névterek Alapértelmezett névtér xmlns=“egy-névtér-URI” Nem alapértelmezett névtér xmlns:a-prefix=“a-namespace-URI” A névterek URI-t, tipikusan URL-t használnak "urn:nwtraders" "http://www.nwtraders.msft"

20 20 XSLT Segítségével egy XML dokumentumot egy másik formátumra transzformálhatunk Sok kimenete lehet: Egy HTML dokumentum Másik XML dokumentum Egyszerű szöveg (EDI üzenet) PDF WML …

21 21 XSLT képességek Sok különböző transzformációra képes Példák: Egy XML szintaxis másikra cserélése Adat szűrés Adat rendezés XML átstruktúrálás Számítások elvégzése

22 22 XSLT XML HTML-é transzformálás XML dokumentum XSLT stílus lap + XSLT processor HTML dokumentum Reid … Reid … Reid … Reid …

23 23 XML más XML szintakszissá Más szintakszis XML dokumentum XSLT stílus lap + XSLT processor Más XML nyelvtan Reid … Reid …

24 24 XPath Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

25 25 XPath W3C szabvány Az XML dokumentumot faként kezeli Gyökér Elem Tulajdonság Szöveg Megjegyzés Feldolgozási információ Névterek Segítségével csomópontokat, vagy csomópontok csoportjait jelölhetjük ki Elérési útvonalak csomópontok kijelölésére XPath operátorok és függvények

26 26 Miért használjuk Az XSLT stílus lapokban, minta illesztésre SQL Server-nél, XML-t is tud generálni XPointer-ben, a dokumentumok csatolására A DOM-ban,csomópontok kiválasztására XML XPath

27 27 Csomópontok kiválasztása DOM Metódusok az XML fa kezelésére MSXML selectSingelNode selectNodes Set document = CreateObject("MSXML2.DOMDocument.3.0") document.setProperty "SelectionLanguage", "XPath" Document.async = False document.load("MyCatalog.xml") Set catalogNode = document.selectSingleNode("//catalog") Set productNodes = catalog.selectNodes("product") Set document = CreateObject("MSXML2.DOMDocument.3.0") document.setProperty "SelectionLanguage", "XPath" Document.async = False document.load("MyCatalog.xml") Set catalogNode = document.selectSingleNode("//catalog") Set productNodes = catalog.selectNodes("product")

28 28 XML DEMÓ(1)

29 29 Csomópont információk XPath fa struktúra és csomópont típusok A csomópontokbó kinyerhető információk DOM használata

30 30 XPath fa struktúra XML dokumentum XPath faként Blue jeans Blue jeans "123" "Blue jeans" Root "urn:litware" "comment " "proc-instr" "urn:litwareinc"

31 31 A csomópontokbó kinyerhető információk Tulajdonságok Érték Név Szülő csomóp. Gyerek csomóp. Csomópont típusok Gyökér Egyed Tulajdonság Szöveg Névtér Feld. utasítások Megjegyzés Minden csomópont rendelkezik tulajdonságokkal

32 32 Csomópontok használata DOM-ban A csomópontko tulajdonságaihoz hozzáférhetünk a DOM tulajdonságokon keresztül Set node = document.selectSingleNode("//product") MsgBox "Text value: " & node.text MsgBox "Node base-name: " & node.baseName MsgBox "Namespace prefix: " & node.prefix MsgBox "Namespace URI: " & node.namespaceURI Set parent = node.parentNode MsgBox "Name of parent: " & parent.baseName Set children = node.childNodes For Each child In children … Set node = document.selectSingleNode("//product") MsgBox "Text value: " & node.text MsgBox "Node base-name: " & node.baseName MsgBox "Namespace prefix: " & node.prefix MsgBox "Namespace URI: " & node.namespaceURI Set parent = node.parentNode MsgBox "Name of parent: " & parent.baseName Set children = node.childNodes For Each child In children …

33 33 Elérési útvonalak használata Mi az elérési útvonal? Elérési útvanalak szerkezete Tengelyek (Axes) Tengelyek használata elérési útvonalban Csomópont kritériumok Predikátumok használata

34 34 Elérési útvonalak Elérési útvonal egy olyan XPath kifejezés mely XML dokumentumban egy vagy több elemet jelöl ki Lehet: Relatív A jelenlegi csomóponthoz viszonyítva Abszolút ”/” karakterrel kezdődik A gyökérhez viszonyítja

35 35 Elérési útvonalak Útvonalat ábrázol Relatív útvonal Abszolút útvonal Balról jobbra vannak kiértékelve Útvonal az XML dokumentumban Minden lépés három részből áll Példa lépés product/price /catalog/product/price axis::node-test[predicate]… child::product[price > 35.95][3]

36 36 Tengelyek self child descendant parent attribute descendant-or-self ancestor ancestor-or-self following following-sibling preceding-sibling preceding code=123 Root node code= code=

37 37 Tengelyek használata A gyakori XPath tengelyeknek van rövidített alakja is A többinek nincs Példa – ancestor::node() Tengely child attribute self parent Példa teljes child::price attribute::code self::node() parent::node() Példa rövidített descendant-or-self//price/descendant-or-self()/price

38 38 Csomópont kritériumok Név alapján Egy adott név Minden csomóp. Név és névtér Minden csomóp. a név.térben Típus alapján axis::node-type-function() Például a gyermek tengelyen: text() processing-instruction() comment() node() price * * aprefix:* aprefix:price Attribute examples

39 39 Predikátumok használata Egy lépés egy vagy több predikátumot használhat Csomópont gyűjtemény szűrése Pozíció Partalom Létezés alapján Több predikátumot is használhatunk Balról jobbra vannak kiértékelve axis::node-test[predicate]… product[last()]

40 40 DEMÓ XML COOKTOP

41 41 Operátorok és függvények használata Csomópont gyűjtemény kifejezések és függvények Logikai kifejezések és függvények Szám kifejezések és függvények Karakterlánc kifejezések és függvények

42 42 Csomópont gyűjtemény Az elérési útvonalak csomópont gyűjteményt adnak vissza Csomópont gyűjteményeket (“ | ”) jellel tudunk összefűzni Gyűjtemény függvények is használhatóak cd | dvd (cd | /*/(cd | dvd) cd[position() = last()] > 5.8])

43 43 Logikai kifejezések Logikai operátorok = != > >= < <= Logikai függvények Példa: product[(price > 25 and price 50] true() false() boolean() not() lang() and not(discount-policy)]

44 44 Szám kifejezések Egyenlőtlenség Bináris operátorok, + - * div mod Függvények Példa account[balance >= - overdraft-limit] number() floor() ceiling() round() sum() account[sum(transaction-amount) > 0] account[(balance mod 100) > 0]

45 45 Karakterláncok Kerekterlánc szűrő Karakterlánc módosító customer[ "Mac") ] customer[ "Mac") ] 1, 1) "]") normalize-space(" To be or not to be ") substring-before("12/3/1964", "/") or substring-after translate(str, "aeiou", "AEIOU")

46 46 Tanácsok Rövidített szintakszist használjuk ha van Egyszerűbb karbantartani Kerüljük a túl általános kifejezéseket: // Ha tudjuk akkor szűkítsük le: /*/product Ne használjuk a count() –ot arra hogy megnáézzük van-e eleme Használjuk a last()-ot Ne használjuk a name() a név vizsgálatra Használjuk a namespace-URI() és local-name() függvényeket helyette

47 47 A mai előadás tartalma ASP.NET felasználó azonosítás IIS Név nélküli Alap Kivonatolt Windows beágyazott Űrlap alapú Microsoft Passport XML kezelés XML dokumentum XPATH kifejezések Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

48 48 A következő előadás tartalma XML XSLT


Letölteni ppt "1.NET web szolgáltatások ASP.NET harmadik rész XML, XPATH Bilicki Vilmos"

Hasonló előadás


Google Hirdetések