Používateľská náročnosť
Požadované vstupné znalosti
- Znalosť jazyka C # na úrovni kurzu GOC2125
- Základná znalosť HTML, CSS
Metódy výučby
Odborný výklad s praktickými ukážkami, cvičenia na počítačoch.
Študijné materiály
Tlačené prezentácie preberanej látky.
osnova
Logovanie
- Vstupy a výstupy
- Predvolené nastavenie
- Vlastné triedy a logovanie
Ošetrovanie chýb
- Odchytávanie chýb pomocou middleware
- Zobrazovanie chybových stránok
- Hotové riešenia pre sledovanie chýb
Endpoint routing
- Čo je endpoint routing
- Vstavané route constraints
- Tvorba vlastných route constraints
- Ďalšie zásahy do routingu
Cookies v ASP.NET
- Práca s cookies v ASP.NET Core
- Bezpečnostné aspekty a obmedzenia
- Alternatívy ku cookies - Local Storage a Session Storage
Jemný úvod do Entity Framework Core
- Zmeny proti EF 6
- Migrácia a ich zákernosti
- Vytvorenie DAL v EF Core
ASP.NET Core Razor Pages
- Razor Pages ako alternatíva k MVC Core
- Model-View-ViewModel (MVVM) versus Model-View-Controller (MVC)
pattern
- Základné použitie Razor Pages
- Metódy pre spracovanie request
Konfigurácia
- Zmeny v porovnaní s ASP.NET 4 a skaza súboru web.config
- Zdroje konfigurácie: súbory, premenné prostredie, príkazový riadok a
ďalšie
- Objektová nadstavba nad key-value konfiguráciou
- Validácia konfiguračných hodnôt
- Sledovanie zmien v konfiguračných súboroch
- User Secrets - úschova citlivých konfiguračných údajov pri vývoji
E-mail v ASP.NET Core
- Možnosti posielania e-mailov (vlastný server, externý služba)
- Knižnica Altairis.Services.Mailing ako pripravené riešenie a zároveň
ukážka typickej praxe v .NET Core.
View Components
- View Components ako náhrada child akcií
- Rozdiely oproti Server Controls v ASP.NET Web Forms
- Registrácia a tvorba vlastných view components
Validácia vstupu a model binding
- Štandardné validačné atribúty
- Vlastné validačné atribúty pre vlastnosti i celej entity
- Rozhranie IValidatableObject
- Klientska validácia pomocou JavaScriptu a CSS
Dynamické generovanie používateľského rozhrania
- Prečo UI vytvárať dynamicky na základe metadát
- Generovanie UI na úrovni poľa
- Generovanie UI na úrovni modelu alebo jeho časti
- Tvorba vlastných šablón
Internacionalizácia
- Globalizácia a lokalizácia
- Trieda CultureInfo, neutrálne a špecifické kultúry, invariantov Culture a
prečo sa jej vyhnúť
- Nastavenie kultúry, request localization middleware
- Lokalizácia užívateľského rozhrania pomocou resources
- Lokalizácia dáta Annotations atribútov
- Conventional Metadáta Providers
Zabezpečenie webových aplikácií
- Základné koncepty a pojmy
- Autentizačné faktory
- Cookie Authentication Middleware
- Claims-based Identity
ASP.NET Identity
- Základné použitie, vytváranie užívateľov, prihlásenie, odhlásenie
- Reset heslá ako slabé miesto bezpečnosti aplikácií a ako to robiť
správne
- Práca s rolami a role-based autorizácie
- Dvojfaktorová autentizácia, použitie jednorazových hesiel
Customizácia ASP.NET Identity
- Rozšírenie údajov o používateľovi
- Identity Stores
- Úschova hesiel a prečo sa do toho nevŕtať
- Migrácia legacy užívateľov alebo keď sa do toho vŕtať bohužiaľ
musíte
- Trieda SignInManager, logovanie a obmedzenie prihlásenia
- SecurityStamp a jeho využitie, odhlásenie zo všetkých sessions
- Prihlasovanie pomocou externých identity providerov a iných facebook
- Overenie telefónneho čísla pomocou SMS
- Login Approvals: prihlasovanie bez hesiel
- Použitie vlastných claimy v ASP.NET Identity
ASP.NET Data Protection
- Použitie v rámci .NET Core a vlastné využitie
- Predvolená konfigurácia a jej zmeny
- Ukladanie kľúčov do súborového systému
- Ukladanie kľúčov do databázy