Előadást letölteni
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
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
A mai előadás tartalma ASP.NET felasználó azonosítás XML kezelé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
Források Microsoft 2310B official curriculum
Microsoft 1913A official curriculum Eszköz
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
Összehasonlítás Módszer Előnyök Há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ó Nem ingyenes
7
IIS azonosítási megoldások
Módszer Biztonsági szint Leírás Anonymous Nincs (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 Kivonatolt Kö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ált Magas NTLM-et vagy Kerberos-t használ Intranetre jó, Internetre nem A tűzfalak nem engedik át
8
DEMÓ IIS IIS azonosítási eljárások
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
Windows alapú azonosítás(1)
IIS: Alap Kivonat Integrált Windows azonosítás A Web.config-ban is be kell álítani 1 2 <system.web> <authentication mode="Windows" /> </system.web>
11
Windows alapú azonosítás(2)
Jogosultság beállítás Web.config IIS infromáció kérés 3 <location path="ShoppingCart.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> 4
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;
13
Űrlap alapú azonosítás
IIS 1 2 ASP.NET Űrlap azonosítás Nincs Azonosítva Azonosítva A kliens lekér egy oldalt Username 6 Someone 4 Jogosultságok Hozzáférés megtagadva Password Logon Page (Users enter their credentials) *********** Nincs Azonosítva Submit 3 Azonosítva Azonosítási süti Jogosultságok 7 Requested Secure Page 5
14
Engedélyezése IIS név nélküli bejelentkezés Web.config Jogosultságok
1 IIS név nélküli bejelentkezés Web.config Jogosultságok Belépő űrlap létrehozása 2 <authentication mode="Forms" > <forms name=".namesuffix" loginUrl="login.aspx" /> </authentication> 3 4
15
Belépő űrlap System.Web.Security Felhasználó ellenőrzése
Sütiből olvasás User.Identity.Name FormsAuthentication.RedirectFromLoginPage private void cmdLogin_Click(object sender, EventArgs e) { if (login(txt .Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txt .Text, false); }
16
Microsoft Passport A kliens lekér egy oldalt
1 Website.msft Az oldal átirányítja a Passport.com-ra 2 A kliens bejelentkezik a Passport.com-ra 3 4 Süti, jeggyel Kliens csatlakozik a weboldalunkhoz 5 6 A host visszaad egy Web űrlapot és egy sütit Client Passport.com
17
XML Adat reprezentáció XML-ben
XML dokumentumok transzformációja XSLT-vel
18
XML dokumentum struktúra
XML deklaráció <?xml version="1.0"?> <employees> </employees> xmlns="urn:nwtraders"> Dokumentum elem <employee> <name>…</name> <salary>…</salary> </employee> id="123" start="1997"> Carol Philips</name> 145000</salary> Elemek Tulajdonságok <employee> <name>…</name> <salary>…</salary> </employee> id="456" start="2000"> Szöveg tartalom Mike Reid</name> 91000</salary> Névterek
19
Névterek Alapértelmezett névtér xmlns=“egy-névtér-URI”
A névterek URI-t, tipikusan URL-t használnak " "urn:nwtraders" Alapértelmezett névtér xmlns=“egy-névtér-URI” <employees xmlns="urn:nwtraders"> Nem alapértelmezett névtér xmlns:a-prefix=“a-namespace-URI” <lit:employees xmlns:lit="urn:nwtraders">
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
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
XML HTML-é transzformálás
XSLT XML dokumentum HTML dokumentum + XSLT processor XSLT stílus lap <employees> <employee> <name>Reid</name> <salary>91000</salary> </employee> … </employees> <HTML><TABLE> <TR> <TD>Reid</TD> <TD>91000</TD> </TR> … </TABLE></HTML>
23
XML más XML szintakszissá
Más szintakszis XML dokumentum Más XML nyelvtan + XSLT processor XSLT stílus lap <employees> <employee> <name>Reid</name> <salary>91000</salary> </employee> … </employees> <staff> <staff-member name="Reid" pay="91000"/> … </staff>
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
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
XPath Miért használjuk Az XSLT stílus lapokban, minta illesztésre
A DOM-ban,csomópontok kiválasztására XML XPath XPath XML XPointer-ben, a dokumentumok csatolására SQL Server-nél, XML-t is tud generálni
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")
28
XML DEMÓ(1)
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
XPath fa struktúra XML dokumentum XPath faként <catalog
xmlns="urn:litwareinc"> <?proc instr?> <!--comment--> <product code="123"> Blue jeans </product> </catalog> "123" "Blue jeans" Root "urn:litware" "comment " "proc-instr" <product> "urn:litwareinc" <catalog>
31
A csomópontokbó kinyerhető információk
Minden csomópont rendelkezik tulajdonságokkal Csomópont típusok Gyökér Egyed Tulajdonság Szöveg Névtér Feld. utasítások Megjegyzés Tulajdonságok Érték Név Szülő csomóp. Gyerek csomóp.
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 …
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
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
Elérési útvonalak Útvonalat ábrázol Balról jobbra vannak kiértékelve
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
Tengelyek self following child following-sibling parent preceding
<catalog> <product code="123"> <price>35.99</price> </product> <product code="456"> <price>22.95</price> <discount> <amount>25</amount> </discount> <product code="789"> <price>185.00</price> </catalog> <catalog> <product code="123"> <price>35.99</price> </product> <product code="456"> <price>22.95</price> <discount> <amount>25</amount> </discount> <product code="789"> <price>185.00</price> </catalog> self following child following-sibling parent preceding attribute preceding-sibling descendant descendant-or-self ancestor ancestor-or-self Root node <catalog> <product> <product> <product> code=123 <price> code=456 <price> <discount> code=789 <price> 35.99 22.95 <amount> 185.00 25
37
Tengelyek használata A gyakori XPath tengelyeknek van rövidített alakja is A többinek nincs Példa – ancestor::node() Tengely Példa teljes Példa rövidített child child::price price attribute attribute::code @code self self::node() . parent parent::node() .. descendant-or-self /descendant-or-self()/price //price
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: Child examples Attribute examples price @code * @* aprefix:price @aprefix:code aprefix:* @aprefix:* text() processing-instruction() node() comment()
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
DEMÓ XML COOKTOP
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
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 | dvd) (cd | cd[position() = last()] > 5.8])
43
Logikai kifejezések Logikai operátorok = != > >= < <=
Logikai függvények Példa: product[(price > 25 and price < 35) or price > 50] true() false() boolean() not() lang() and not(discount-policy)]
44
Szám kifejezések Egyenlőtlenség Bináris operátorok, + - * div mod
Függvények Példa account[balance >= - overdraft-limit] account[(balance mod 100) > 0] number() floor() ceiling() round() sum() account[sum(transaction-amount) > 0]
45
Karakterláncok Kerekterlánc szűrő Karakterlánc módosító
customer[ "Mac") ] customer[ "Mac") ] "]") 1, 1) substring-before("12/3/1964", "/") or substring-after normalize-space(" To be or not to be ") translate(str, "aeiou", "AEIOU")
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
A mai előadás tartalma ASP.NET felasználó azonosítás XML kezelé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
A következő előadás tartalma
XML XSLT
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.