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ů
  • 12 termínů
  • Praha (27 000 Kč)

    Brno (27 000 Kč)

    Bratislava (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.