Webes alkalmazások fejlesztése

Hasonló dokumentumok
Webes alkalmazások fejlesztése. 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Földmérési és Távérzékelési Intézet

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Könyvtári címkéző munkahely

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Vectory telepítési útmutató

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

JavaScript Web AppBuilder használata

MVC. Model View Controller

ASP-s alkalmazás készítés

Gyakorlati vizsgatevékenység A

JAVA webes alkalmazások

Felhasználói kézikönyv

Gyakorlati vizsgatevékenység B

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webszolgáltatások (WS)

Webshop készítése ASP.NET 3.5 ben I.

Internet technológiák

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

A webhelyhez kötődő szoftverek architektúrája

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Bevezetés Működési elv AJAX keretrendszerek AJAX

Gyakorlati vizsgatevékenység B

Web-fejlesztés NGM_IN002_1

Flex: csak rugalmasan!

PFW Programing Fundamentals Wizard

Informatikus, Webfejlesztő. Nagy Gusztáv

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Moodle-integrálás intézményi környezetben

Elektronikus levelek. Az informatikai biztonság alapjai II.

Zimbra levelező rendszer

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Eseményvezérelt és objektumorientált programozás

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

OOP és UML Áttekintés

Java I. A Java programozási nyelv

Sulidoc Iskolai dokumentum megosztó Dokumentáció

Java és web programozás

Két tűz között. statikus site generátorok és javascript alkalmazások és a Drupal

Szalai Ferenc

Bevezető. Servlet alapgondolatok

Multimédiás adatbázisok

KnowledgeTree dokumentumkezelő rendszer

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

Az image objektum. Az image eseménykezel i. Képek el zetes betöltése. Feladat. Váltóképek készítése

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

GeoServer, OpenLayers és WFS. Dolleschall János

Gyakorlati vizsgatevékenység A

Weboldalak fejlesztése mobil eszközökre

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Iman 3.0 szoftverdokumentáció

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

SzePi Moodle tanári kézikönyv 1.0. A Dugonics András Piarista Gimnázium Moodle rendszerének elérése:

r e l o a d. n o n p r o f i t f o r u m. e u Telepítési útmutató 3. RELOADED

George Shepherd. 1. A webes alkalmazások alapjai 1

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009

Nyílt forráskódú térinformatikai eszközök Dolleschall János

ÁSZF 1. melléklet. GST-Max Kereskedelmi és Szolgáltató Kft Budapest, Völgy utca 32/b. részéről

Web programoz as

Web harvesztelés. Automatikus módszerekkel

ELTE SAP Excellence Center Oktatóanyag 1

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Java grafikai lehetőségek

Szoftvertechnolo gia gyakorlat

Google Web Toolkit. Elek Márton. Drótposta kft.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

Általános fiók beállítási útmutató

Hálózati architektúrák és Protokollok GI Kocsis Gergely

BaBér bérügyviteli rendszer telepítési segédlete év

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk

A Java EE 5 plattform

Felhasználói kézikönyv. Verzió: 1.01

Interfészek. PPT 2007/2008 tavasz.

Vizuális, eseményvezérelt programozás XI.

Geotechnika II. (NGB-SE005-2) Geo5 használat

S z á m í t ó g é p e s a l a p i s m e r e t e k

Megjegyzés vezeték nélküli LAN felhasználóknak

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

HRdoc+ Rendszerismertető. Számítástechnikai és Szolgáltató Kft. Tel.: H-2051 Biatorbágy, Viola u. 38.

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Átírás:

Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu

Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni tudjon a rendszerünkbe és személyre szabott funkciókat használhasson. Az ASP.NET MVC keretrendszerben legegyszerűbben egy speciális szűrővel (Authorize) lehet beállítani a felhasználó authentikációját. System.Web.Security.FormsAuthentication osztály néhány statikus metódusát fogjuk használni a megvalósításhoz. Ne felejtsük el finomhangolni a konfigurációs fájlban (web.config) azt, hogy melyik akciót hívja meg az ASP.NET MVC ha bejelentkezés szükséges: <authentication mode="forms"> <forms loginurl="~/account/login" timeout="2880" /> </authentication> Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 2

FormsAuthentication osztály [Authorize] attribútummal megjelöljük azokat az akciókat vagy vezérlőket, melyeknek funkcióit csak bejelentkezett felhasználók használhatják. Fontosabb metódusai a FormAuthentication osztálynak: Authenticate: Ez a metódus a konfigurációs fájlból (web.config) olvassa ki a felhasználó adait (felhasználónév, jelszó) és igazzal tér vissza, ha talált egyezést. SetAuthCookie: A metódus definiál egy új sütit, aminek segítségével a felhasználónak nem kell minden oldalkérés után belépnie a weboldalunkra. Signout: Törli a böngészőből az SetAuthCookie által beállított sütit. Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 3

FormsAuthentication osztály Egyszerű és gyors a használata, ami alapvető azonosítást tesz lehetővé. Hátránya viszont az, hogy nehézkes a tesztelés, ugyanis nem egy osztály példányait teszteljük, hanem annak statikus metódusait. Egy jó megoldás lehet arra az, hogy létrehozunk egy saját interfészt (pl.: IAuthenticateProvider), amibe becsomagoljuk az ASP.NET MVC adta lehetőségeket és ezt az interfészt adjuk át a vezérlőinknek Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 4

DEMO To-Do-Site Authentikáció Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 5

Adatok feltöltése a szerverre Eddig egyszerű szöveget küldtünk a szervernek, de mi történik akkor, ha különböző adatokat (pl.: fájlokat vagy képeket) szeretnénk feltölteni? A HTML szabvány lehetőséget biztosít arra, hogy fájlokat küldjünk (post-oljunk) a szervernek. Fájl kiválasztását az <input type= file /> taggal lehet megadni Sajnos nem lehet explicite beállítani, hogy a felhasználó milyen típusú fájlokat tölthet fel Natív JavaScript-el vagy valamilyen külső könyvtárral (jquery) a fájl kiválasztása után viszont lehetőség van különböző ellenőrzésekre Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 6

Adatok feltöltése a szerverre Ahhoz, hogy fájlt tudjunk küldeni a szervernek egy form-ot kell létrehoznunk és az enctype attribútumát kell beállítanunk: <form enctype= multipart/form-data > Szerver oldalon az akciómetódus egy HttpPostedFileBase típusú objektumot kap paraméteréül, amitől le tudjuk kérdezni a fájl jellemzőit, úgymint a fájl típusa (pl.: szöveg, kép), mérete, fájl neve, illetve a tartalmát. Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 7

MIME tartalomtípus HttpPostedFileBase objektum ContentType tulajdonsága MIME formátumban tárolja a fájl típusát. Ezeket az értékeket veheti fel: text/plain: Egyszerű szöveges állomány text/html: HTML dokumentum text/javascript: JavaScript szkriptfájl image/gif: GIF formátumú képállomány image/jpeg: JPEG formátumú képállomány audio/mp3: MP3 formátumú audióállomány Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 8

DEMO To-Do-Site Szöveges fájl feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 9

Hogyan tovább? Nem volt szó az egyedi szűrők használatáról (Filtering), különböző képernyőméretek kezeléséről (Display Modes) és még rengeteg mindenről Web API új lehetőség arra, hogy gyorsan és egyszerűen készítsen a felhasználó web szervízeket (web service). Felépítése nagyon hasonlít az eddig látottakhoz, de ez a technológia nem ekvivalens az ASP.NET MVC-vel Tesztelő keretrendszerek: nunit, Visual Studio Test Project Külső technológiák: moq, Ninject stb. Kliens oldali technológiák: jquery, Knockout.js, Modernizer stb. Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 10

Hogyan tovább? Jelenleg az ipar azt mutatja, hogy a webes technológiák egyre nagyobb hangsúlyt kapnak a fejlesztéseknél. Egyre többször lehet hallani, hogy a JavaScript nyelv a web assembly nyelvévé alakul át és helyette már magasabb szintű programozási nyelveken (Dart, CoffeeScript, TypeScript) készítik el a nagyobb projekteket. Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 11

TypeScript nyelvről pár szót A nyelvet a Microsoft fejlesztette ki és adta közre tavaly 2012. szeptemberében Cél nem egy újabb Javascript-gyilkos nyelv megalkotása volt, hanem egy olyan eszköz elkészítése, mely segíti a fejlesztőket igazán nagy projektek elkészítésében is Fontosságát mutatja, hogy a WinRT Javascript egy részét is ebben írták Anders Hejlsberg (Pascal, Delphi, C#) is részt vett a projektben Legfőbb filozófiája: Legyen a TypeScript bővebb halmaza a Javascript-nek Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 12

TypeScript nyelvről pár szót Open source, operációsrendszer- és böngészőfüggetlen Statikusan típusos nyelv JavaScript kódra fordítja a forráskódot Felülről kompatibilis a Javascript nyelvvel Objektum-orientált nyelvi eszközöket is nyelvi szinten támogatja (interface, class, module stb.) A 0.9-es verziótól megjelennek a nyelvben a generikus típusok Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu 13

Köszönöm a figyelmet! Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu