V tomto kurzu navážeme na ASPNET_INTRO a budeme pokračovat budeme jemným úvodem to Entity Frameworku Core a pak se vrhneme na Razor Pages, MVVM framework, který Microsoft nabízí jako alternativu k přece jenom poněkud fundamentalisticky [...]
  • ASPNET_ADV
  • Délka 5 dní
  • 50 ITK bodů
  • 8 termínů
  • ČR (27 000 Kč)

    SR (1 250 €)

  • Mírně pokročilý

V tomto kurzu navážeme na ASPNET_INTRO a budeme pokračovat budeme jemným úvodem to Entity Frameworku Core a pak se vrhneme na Razor Pages, MVVM framework, který Microsoft nabízí jako alternativu k přece jenom poněkud fundamentalisticky pojatému MVC.

Aplikace vyžadují konfiguraci a .NET Core opouští předchozí řešení založené na XML web.config souborech. Nabízí nový model mnoha konfiguračních zdrojů, objektovou nadstavbu i User Secrets pro bezpečnou úschovu citlivých konfiguračních údajů při vývoji.

Téměř každá webová aplikace potřebuje odesílat e-maily. Ukážeme si, jaké možnosti v ASP.NET Core aplikacích máte a představíme si knihovnu Altairis.Services.Mailing. Tu můžete použít pro řešení svých e-mailovacích potřeb, ale také jako ukázku toho, jak se obecně píší univerzální knihovny pro .NET Core.

Další velký blok je věnován internacionalizaci – přípravě aplikace na globální nasazení, překladu do různých jazyků, validaci uživatelských vstupů včetně klientské validace (a překladu jejích hlášek). Uživatelské rozhraní je možné – a vhodné – generovat na základě anotačních atributů dynamicky a ukážeme si, jak na to.

Poslední část se týká zabezpečení a použití ASP.NET Identity. Naučím vás, jak ji správně nasadit, zabezpečit aplikaci pomocí rolí, dvoufaktorové autentizace, vlastních claimů, přihlašování pomocí externích identity providerů a další užitečné věci. Ukážu vám také, jak můžete do své nové krásné bezpečné aplikace dostat uživatele ze starších aplikací, které nejsou tak krásné (a hlavně tak bezpečné).

Poznámka:

  • Bude-li používat vlastní PC, pak následující software, včetně všech aktualizací
    • Windows 10 nebo novější
    • Visual Studio (ne Visual Studio Code) - nejnovější verzi, jakoukoliv edici, včetně bezplatné Community, s workloadem pro web a ASP.NET Core
    • Microsoft SQL Server - jakoukoliv podporovanou verzi, jakoukoliv edici, včetně bezplatné Express
    • SQL Management Studio - nejnovější verzi; není nezbytně nutné, ale důrazně doporučeno
  • Funkční předplatné Microsoft Azure jakéhokoliv typu. Tj. včetně (funkčního) trial, pay-as-you-go, Visual Studio Subscription apod.
  • Předplatné DigitalOcean nebo možnost jej v průběhu kurzu zřídit. Při zřízení přes odkaz https://altair.is/digitalocean dostane účastník dostatečný kredit na 30 dní zdarma, ale je nutné vždy zadat číslo platební karty pro ověření totožnosti.

Doporučujeme software instalovat a aktualizovat s předstihem, ne v průběhu kurzu (trvá to zbytečně dlouho) Stejně tak doporučujeme zřídit účty, zejména trial u Azure, s předstihem. Ne však zase moc velkým, protože kredit je omezený na 30 dnů. Zřízení trialu u Azure může chvíli trvat a není dobré, když ho z jedné adresu (firmy, učebny) dělá víc lidí najednou. V případě zřízení trial účtů je kredit více než dostatečný na vše, co je třeba na školení udělat. I v případě placené varianty jsou náklady na zdroje spotřebované v průběhu kurzu zanedbatelné, v řádu desetikorun.

»
  • Znalost programování v jazyce C# na úrovni kurzu GOC2125
  • Znalosti na úrovni kurzu ASPNET_INTRO
  • Funkční subscription Microsoft Azure, stačí trial.
  • Subscription Digital Ocean
  • Odborný výklad s praktickými ukázkami, cvičení na počítačích.
  • Online prezentace probírané látky a cvičení.

Jemný úvod do Entity Frameworku Core

  • Změny proti EF 6
  • Migrace a jejich zákeřnosti
  • Vytvoření DAL v EF Core

ASP.NET Core Razor Pages

  • Razor Pages jako alternativa k MVC Core
  • Model-View-ViewModel (MVVM) versus Model-View-Controller (MVC) pattern
  • Základní použití Razor Pages
  • Metody pro zpracování requestů

Konfigurace

  • Změny proti ASP.NET 4 a zkáza souboru web.config
  • Zdroje konfigurace: soubory, proměnné prostředí, příkazová řádka a další
  • Objektová nadstavba nad key-value konfigurací
  • Validace konfiguračních hodnot
  • Sledování změn v konfiguračních souborech
  • User Secrets – úschova citlivých konfiguračních údajů při vývoji

E-mail v ASP.NET Core

  • Možnosti posílání e-mailů (vlastní server, externí služba)
  • Knihovna Altairis.Services.Mailing jako připravené řešení a zároveň ukázka typické praxe v .NET Core.

View Components

  • View Components jako náhrada child akcí
  • Rozdíly proti Server Controls v ASP.NET Web Forms
  • Registrace a tvorba vlastních view components

Validace vstupu a model binding

  • Standardní validační atributy
  • Vlastní validační atributy pro vlastnosti i celé entity
  • Rozhraní IValidatableObject
  • Klientská validace pomocí JavaScriptu a CSS

Dynamické generování uživatelského rozhraní

  • Proč UI vytvářet dynamicky na základě metadat
  • Generování UI na úrovni pole
  • Generování UI na úrovni modelu nebo jeho části
  • Tvorba vlastních šablon

Internacionalizace

  • Globalizace a lokalizace
  • Třída CultureInfo, neutrální a specifické kultury, Invariant Culture a proč se jí vyhnout
  • Nastavení kultury, request localization middleware
  • Lokalizace uživatelského rozhraní pomocí resources
  • Lokalizace data annotations atributů
  • Conventional Metadata Providers

Zabezpečení webových aplikací

  • Základní koncepty a pojmy
  • Autentizační faktory
  • Cookie Authentication Middleware
  • Claims-based Identity

ASP.NET Identity

  • Základní použití, vytváření uživatelů, přihlášení, odhlášení
  • Reset hesla jako slabé místo bezpečnosti aplikací a jak to dělat správně
  • Práce s rolemi a role-based autorizace
  • Dvoufaktorová autentizace, použití jednorázových hesel

Customizace ASP.NET Identity

  • Rozšíření údajů o uživateli
  • Identity Stores
  • Úschova hesel a proč se do toho nevrtat
  • Migrace legacy uživatelů, aneb když se do toho vrtat bohužel musíte
  • Třída SignInManager, logování a omezení přihlášení
  • SecurityStamp a jeho využití, odhlášení ze všech sessions
  • Přihlašování pomocí externích identity providerů a jiných facebooků
  • Ověření telefonního čísla pomocí SMS
  • Login Approvals: přihlašování bez hesel
  • Použití vlastních claimů v ASP.NET Identity

ASP.NET Data Protection

  • Použití v rámci .NET Core a vlastní využití
  • Výchozí konfigurace a její změny
  • Ukládání klíčů do souborového systému
  • Ukládání klíčů do databáze
Aktuální nabídka
Školicí místo
Jazyk kurzu

Uvedené ceny jsou bez DPH.

Školení na míru

Nenašli jste vhodný termín, nebo chcete školení přizpůsobit specifickým potřebám vašeho týmu? Rádi pro vás připravíme školení na míru.