1.1 Plan the application layers
1.1.1 Plan data access
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 2-6
1.1.2 plan for separation of concerns, appropriate use of models, views, controllers, view components, and service dependency injection
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 6-15
- Dependency injection in ASP.NET Core
- Dependency injection in ASP.NET Core [$][video]
1.1.3 choose between client-side and server-side processing
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 15-16
1.1.4 design for scalability
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 16-17
1.1.5 choose between ASP.NET Core and ASP.NET
1.1.6 choose when to use .NET standard libraries
- What is the difference between .NET Core and .NET Standard Class Library project types?
- Demystifying .NET Core and .NET Standard
- .NET Standard versions
1.2 Design a distributed application
- Design Distributed Application
- Design a distributed application
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 21-24
1.2.1 Design a hybrid application
- Building Hybrid Applications in the Cloud on Microsoft Azure
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 24-26
1.2.2 plan for session management in a distributed environment
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 26-27
- Sticky and NON-Sticky sessions
1.2.3 plan web farms
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 27-28
- Host ASP.NET Core in a web farm
1.2.4 run Microsoft Azure services on-premises with Azure Pack
1.2.5 enable deferred processing through Azure features including queues, scheduled and on-demand jobs, Azure Functions, Azure Web Jobs
1.3 Design and implement the Azure Web Apps life cycle
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 31-40
- Background tasks with hosted services in ASP.NET Core
- Building ASP.NET Core Hosted Services and .NET Core Worker Services [$][video]
1.3.1 Identify and implement Start, Run, and Stop events
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 35-38
- Customize the Lifecycle of a Web or Worker role in .NET
1.3.2 code against application events in application
- ASP.NET Core 3.0: The MVC Request Life Cycle [$][video]
1.3.3 configure startup tasks, including IIS, app pool configuration, and third-party tools
- Running async tasks on app startup in ASP.NET Core
- How to configure and run startup tasks for a cloud service
- Setting Application Pool Idle and Recycle Timeout Period Using Startup Tasks - Windows Azure
1.4 Configure state management
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 40-51
- Session and state management in ASP.NET Core
1.4.1 Choose a state management mechanism including in-process, out of process, and Redis based state management
- ASP.NET Session State Provider for Azure Cache for Redis
- ASP.NET Session State Management With Redis
1.4.2 plan for scalability
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 44-45
1.4.3 use cookies or local storage to maintain state
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 45-46
1.4.4 apply configuration settings in web.config file
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 47
1.4.5 implement sessionless state including for example, query strings
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 48-49
1.4.6 configure middleware to enable session and application state in ASP.NET Core
1.5 Design a caching strategy
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 51-59
- Cache in-memory in ASP.NET Core
- Distributed caching in ASP.NET Core
1.5.1 Implement page output caching and data caching
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 51-57
1.5.2 create cache profiles
1.5.3 implement HTTP caching
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 57
- HTTP-based response caching
1.5.4 implement Azure Redis caching
- Quickstart: Use Azure Cache for Redis with an ASP.NET web app
- Improve session scalability in a .NET Framework ASP.NET web application by using Azure Cache for Redis
1.5.5 plan a content delivery network (CDN) strategy, for example, Azure CDN
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 202
- Quickstart: Create an Azure CDN profile and endpoint
1.6 Design and implement a Web Socket strategy
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 60-67
- WebSockets support in ASP.NET Core
1.6.1 Read and write string and binary data asynchronously
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 60-63
1.6.2 choose a connection loss strategy
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 64
1.6.3 decide when to use Web Sockets
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 64-65
1.6.4 implement SignalR
- Introduction to ASP.NET Core SignalR
- Tutorial: Get started with ASP.NET Core SignalR
- Getting started with ASP.NET Core SignalR [$][video]
1.6.5 enable web socket features in an Azure Web App instance
1.7 Design a configuration management solution
1.7.1 Manage configuration sources, including XML, JSON, and INI files
1.7.2 manage environment variables
1.7.3 implement Option objects
- Options pattern in ASP.NET Core
- Using Configuration and Options in .NET Core and ASP.NET Core Apps [$][video]
1.7.4 implement multiple environments using files and hierarchical structure
1.7.5 manage sensitive configuration
1.7.6 react to runtime configuration changes
1.7.7 implement a custom configuration source
1.7.8 secure configuration by using Azure Key Vault
1.7.9 use the Secret Manager tool in development to keep secrets out of your code for configuration values
1.8 Interact with the host environment
1.8.1 Work with file system using file providers
1.8.2 work with environment variables
1.8.3 determine hosting environment capabilities
1.8.4 implement native components, including PInvoke and native dependencies for hosts including Linux and Windows
1.8.5 use ASP.NET hosting on an Open Web Interface for .NET (OWIN)-based server
1.9 Compose an application by using the framework pipeline
- ASP.NET Core 3.0: The MVC Request Life Cycle [$][video]
- ASP.NET Core Middleware
- "ASP.NET Core in Action"[3] pages 61-92
1.9.1 Add custom request processing modules to the pipeline
1.9.2 add, remove, and configure services used in the application
1.9.3 design and implement middleware
1.9.4 design for kestrel, Http.sys web server and IIS
- Web server implementations in ASP.NET Core
- Kestrel in ASP.NET Core apps
- How to use HTTP.sys
- Enable the IISIntegration components
1.9.5 design and implement startup filters
2.1 Design a browser artifact build strategy
2.1.1 Design a JavaScript build pipeline using Gulp, Grunt, npm and Bower
- Introduction to Bower, Grunt, and Gulp in Visual Studio
- Use Grunt in ASP.NET Core
- Client-side library acquisition in ASP.NET Core with LibMan
2.1.2 design an artifact build strategy using Less, Sass and Font Awesome
- Стилизация приложений с помощью Less, Sass и Font Awesome
- Styling Applications with Less, Sass, and Font Awesome
2.1.3 design and implement a bundling and minification strategy for broswer artifacts, including JavaScript, CSS and images
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 197-202
- Bundle and minify static assets in ASP.NET Core
- Объединение и минификация файлов на примере ASP.NET Core MVC. Bundling and Minification
2.2 Design a server build strategy
2.2.1 Manage NuGet dependencies
- Install and manage packages in
2.2.2 target runtimes, including the full .NET Framework, .NET core, and .NET standard
2.2.3 manage debug and release configurations, including compilation and optimization options
- C# Debug vs. Release builds
- Set debug and release configurations in Visual Studio
- Project settings for C# debug configurations
2.2.4 include or exclude files from build
- Excluding Files and Folders in Visual Studio Web Site Project
- How to: Select the files to build
- How to: Exclude files from the build
- Excluding Files and Folders from Deployment
2.2.5 manage build sources, including content, resources, and shared files
2.2.6 implement metadata for projects, including version, release notes, and descriptions
2.2.7 define other build options, including xmlDoc and warningsAsErrors
2.2.8 work with static files in ASP.NET core
2.3 Design a publishing strategy
- Overview of deployment in Visual Studio
- Visual Studio publish profiles (.pubxml) for ASP.NET Core app deployment
- How Web Publishing In Visual Studio Works
2.3.1 Implement application publishing using dotnet.exe
2.3.2 manage publishing options in csproj
2.3.3 implement additional tooling
2.3.4 implement pre-publish and post-publish scripts
2.3.5 implement native compilation
2.3.6 publish to Docker container image
- Deploy an ASP.NET container to a container registry using Visual Studio
- Docker Cheat Sheet
- Administer containers in Azure
- Microsoft Azure for .NET Developers - Building Secure Services and Applications (Modules 2-3) [$][video]
2.4 Implement an Azure deployment strategy
2.4.1 Deploy Azure Web App using supported deployment models including FTP, Kudu, Web Deploy, and Visual Studio Publishing Wizard
- Deploy your app to Azure App Service using FTP
- Deploy your app to Azure App Service with a ZIP or WAR file
- Publish an ASP.NET Core app to Azure with Visual Studio
- Publish a web app to Azure with Visual Studio
2.4.2 provision ARM based resources while deploying application
- Deploy resources with ARM templates and Azure portal
- Creating and deploying Azure resource groups through Visual Studio
- Microsoft Azure for .NET Developers - Building Secure Services and Applications (Module 4) [$][video]
2.4.3 implement deployment environments, including dev, test, and prod in Azure
2.4.4 use deployment slots for staging sites
2.4.5 deploy to Azure Stack
2.5 Implement a on-premises deployment strategy
2.5.1 Deploy application to IIS using Web Deploy, xcopy, and Visual Studio Publishing Wizard
2.5.2 deploy application to Windows Nano Server, deploy application to IIS Hosted Web Core, deploy application to HTTP.sys web server
2.5.3 deploy application to Kestrel on Windows and Linux
2.5.4 implement reverse proxying to Kestrel using IIS and Nginx
3.1 Create elements of the user interface for a web application
3.1.1 Create and apply styles by using CSS
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 86-89
- CSS3
3.1.2 structure and lay out the user interface by using HTML
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 90-92
- HTML5
3.1.3 implement dynamic page content based on a design
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 92-95
3.2 Design and implement UI behavior
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 97-113
3.2.1 Implement client-side validation
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 98-103
- Client-side validation
- ASP.NET Core and ASP.NET Input Validation [$][video]
3.2.2 use JavaScript to manipulate the DOM
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 103
- How to Manipulate HTML (An Intro to the JS DOM)
- Манипуляции HTML-элементами
3.2.3 extend objects by using prototypal inheritance
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 103-105
- Prototypal inheritance
3.2.4 use AJAX to make partial page updates
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 105-108
3.3 Design the UI layout of an application
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 114-123
- Layout in ASP.NET Core
3.3.1 Implement partial views and view components for reuse in different areas of the application
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 114-116
- "Pro ASP.NET Core MVC 2"[2] cтр. 680-685
- "Pro ASP.NET Core MVC 2"[2] cтр. 700-722
- View components in ASP.NET Core
- ASP.NET Core Tag Helpers and View Components [$][video]
3.3.2 design and implement pages by using Razor Pages
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 117
- Introduction to Razor Pages in ASP.NET Core
3.3.3 design and implement layouts to provide visual structure
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 117-118
3.3.4 define and render optional and required page sections
3.3.5 create and use tag and HTML helpers to simplify markup
- "Pro ASP.NET Core MVC 2"[2] cтр. 723-754
- Tag Helpers in ASP.NET Core
- ASP.NET Core Tag Helpers and View Components [$][video]
3.4 Plan a responsive UI layout
3.4.1 Plan for applications that run on multiple devices and screen resolutions
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 132-134
3.4.2 use media queries and Bootstrap's responsive grid
3.4.3 detect browser features and capabilities
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 124-126
- Implementing feature detection
3.4.4 create a web application that runs across multiple browsers and mobile devices
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 126-128
3.4.5 enable consistent cross-browser experiences with polyfills
3.5 Plan mobile UI strategy
3.5.1 Implement mobile specific UI elements such as touch input, low bandwidth situations, and device orientation changes
3.5.2 define and implement a strategy for working with mobile browsers
4.1 Plan for search engine optimization and accessibility
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 145-156
- Plan for search engine optimization and accessibility
- Search Engine Optimization with ASP.NET [$][video]
4.1.1 Use analytical tools to parse HTML
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 146-149
4.1.2 provide an xml sitemap and robots.txt file to improve scraping
4.1.3 write semantic markup for accessibility, for example, screen readers
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 151-153
4.1.4 use rich snippets to increase content visibility
4.2 Plan and implement globalization and localization
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 156-163
- Globalization and localization in ASP.NET Core - Docs
- Globalization and Localization in ASP.NET Core - Blog Post
4.2.1. Plan a localization strategy
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 156-158
4.2.2. create and apply resources to UI including JavaScript resources
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 158-160
4.2.3. set cultures
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 160-161
4.2.4. implement server side localization and globalization
4.3 Design and implement MVC controllers and actions
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 163-175
4.3.1 Apply authorization attributes, filters including global, authentication, and overriddable filters
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 164-167
- "Pro ASP.NET Core MVC 2"[2] cтр. 589-626
- Filters in ASP.NET Core
4.3.2 choose and implement custom HTTP status codes and responses
- "Pro ASP.NET Core MVC 2"[2] cтр. 548-555
4.3.3 implement action results
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 168-170
- "Pro ASP.NET Core MVC 2"[2] cтр. 529-548
- ActionResult In ASP.NET Core MVC
4.3.4 implement MVC areas
4.3.5 implement Dependency Injection for services in controllers
4.4 Design and implement routes
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 175-185
- Routing in ASP.NET Core
- Routing to controller actions in ASP.NET Core
- Routing in ASP.NET Core 3.1 - Endpoints
4.4.1 Define a route to handle a URL pattern
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 176-178
- "Pro ASP.NET Core MVC 2"[2] cтр. 443-459
- Route template reference
4.4.2 apply route constraints
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 178-179
- "Pro ASP.NET Core MVC 2"[2] cтр. 460-470
- Route constraint reference
4.4.3 ignore URL patterns
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 179-180
- How to ignore routes in ASP.NET Core?
4.4.4 add custom route parameters
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] page 180
- "Pro ASP.NET Core MVC 2"[2] cтр. 452-459
4.4.5 define areas
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 181-182
- "Pro ASP.NET Core MVC 2"[2] cтр. 505-510
- Routing - Areas
4.4.6 define routes that interoperate with Single Page Application frameworks such as Angular
4.5 Control application behavior by using MVC extensibility points
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 186-197
- ASP.NET Core 3.0: The MVC Request Life Cycle [$][video]
- Improving .NET Core MVC Apps Using Extension Points [$][video]
4.5.1 Create custom middleware and inject it into the pipeline
4.5.2 implement MVC filters and controller factories
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 186-188
- Filters in ASP.NET Core
4.5.3 control application behavior by using action results, model binders, and route handlers
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 188-194
- How to write custom actionResult in asp.net core
- Custom Model Binding In ASP.NET Core MVC
- Routing Middleware — Route Handler
4.5.4 inject services into a view
4.6 Design and implement serialization and model binding
4.6.1 Serialize models and data using supported serialization formats, including JSON, XML, protobuf, and WCF/SOAP
4.6.2 implement model and property binding, including custom binding and model validation
- "Pro ASP.NET Core MVC 2"[2] cтр. 809-876
- Custom Model Binding in ASP.NET Core
- Validation - Custom attributes
4.6.3 implement web socket communication in MVC
4.6.4 implement file uploading and multipart data
4.6.5 use AutoRest to build clients
5.1 Prevent and troubleshoot runtime issues
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 215-234
5.1.1 Troubleshoot performance, security, and errors
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 216-223
- First look at profiling tools
- Measure application performance by analyzing CPU usage
- Measure memory usage in Visual Studio
- Performance Testing Techniques [video]
5.1.2 implement tracing, logging, and debugging including IntelliTrace
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 223-227
- IntelliTrace for Visual Studio Enterprise
- First look at the Visual Studio Debugger
- Effective Logging in ASP.NET Core [$][video]
5.1.3 enable and configure health monitoring including Performance Monitor
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 230-232
- Windows Performance Monitor Overview
- ASP.NET Core Health Checks [$][video]
5.1.4 configure and use App Insights runtime telemetry
5.2 Design an exception handling strategy
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 234-243
5.2.1 Handle exceptions across multiple layers
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 235-236
- Handle errors in ASP.NET Core
5.2.2 use MVC middleware to configure error handling
- "ASP.NET Core in Action"[3] pages 78-92
5.2.3 use different exception handling strategies for different environments
- "ASP.NET Core in Action"[3] pages 80-86
5.2.4 create and display custom error pages
5.2.5 configure a custom pipeline for error handling
5.2.6 handle first chance exceptions
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 238-240
- How to: Receive First-Chance Exception Notifications
5.2.7 configure and use App Insights
5.2.8 log application exceptions
- Global Error Handling In ASP.NET Core App Using NLog
- Log exceptions
- Securely Handling Errors and Logging Security Events in ASP.NET and ASP.NET Core [$][video]
5.3 Test a web application
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 243-255
5.3.1 Create and run unit tests, for example, use the Assert class, create mocks and stubs
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 244-250
- Walkthrough: Create and run unit tests for managed code
- Unit testing best practices
- Unit test controller logic in ASP.NET Core
- Test ASP.NET Core middleware
- Integration tests in ASP.NET Core
- Microsoft Azure Developer: Performing Unit Testing & Integration Testing (Modules 2-4) [$][video]
5.3.2 create and run web tests including using Browser Link
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 250-252
- Browser Link in ASP.NET Core
5.3.3 debug a web application in multiple browsers and mobile emulators
5.3.4 use Azure DevTest Labs
5.3.5 use Visual Studio Team Services
5.4 Debug an Azure application
5.4.1 Collect diagnostic information by using Azure App Insights
- Instrument Application with Azure Monitor Application Insights [$][video]
- Microsoft Azure Developer: Troubleshooting Using Microsoft Azure Portal [$][video]
5.4.2 choose log types, for example, event logs, performance counters, and crash dumps
5.4.3 stream logs directly to Visual Studio from a deployed site
5.4.4 debug an Azure application by using Visual Studio and remote debugging
- Remote Debug ASP.NET Core on IIS in Azure in Visual Studio
- Debug live ASP.NET Azure apps using the Snapshot Debugger
5.4.5 interact directly with remote Azure websites using Server Explorer
6.1 Configure authentication
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 271-293
- ASP.NET Core - Authentication & Authorization Tutorial [video]
- Authentication and Authorization in ASP.NET Core [$][video]
6.1.1 Authenticate users
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 272-280
- Overview of ASP.NET Core authentication
6.1.2 enforce authentication settings
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 280-282
6.1.3 implement ASP.NET Core Identity
- "Pro ASP.NET Core MVC 2"[2] cтр. 877-972
- Introduction to Identity on ASP.NET Core
- ASP.NET Core 3 - Authentication - Ep.2 Identity Authentication [video]
- ASP.NET Core MVC Login and Registration with Identity
6.1.4 enable Facebook, Google and other external providers
- Microsoft Account
- External OAuth
- ASP.NET Core 3 - Authentication - Ep.2 Identity Authentication [video]
6.1.5 implement account confirmation, password recovery, and multi-factor authentication
- Account confirmation and password recovery in ASP.NET Core
- Account Confirmation and Password Recovery
- Two-factor authentication with SMS in ASP.NET Core
- Enable QR Code generation for TOTP authenticator apps in ASP.NET Core
- ASP.NET Core 3 - Identity - Ep.2.1 Email Verification [video]
6.1.6 perform authentication using Azure Active Directory, Azure Active Directory B2C, Azure Active Directory B2B, and Microsoft Identity
- Protect a web API backend in Azure API Management by using OAuth 2.0 authorization with Azure AD
- Secure your RESTful services (B2C)
- Tutorial: Enable authentication in a web application using Azure Active Directory B2C
- Using Azure Active Directory B2C with ASP.NET Core
- Microsoft Azure for .NET Developers - Building Secure Services and Applications (Modules 7-8) [$][video]
6.1.7 manage user session by using cookies
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 283-285
- Use cookie authentication without ASP.NET Core Identity
6.1.8 acquire access tokens using the Microsoft Authentication Library (MSAL)
6.2 Configure and apply authorization
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 294-303
- Create an ASP.NET Core web app with user data protected by authorization
6.2.1 Create roles
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 294-296
- Adding Role Authorization to a ASP.NET MVC Core Application
- Local Users with ASP.NET Core – ASP.NET Core Identity
- Управление ролями
- ASP.NET Core - Roles vs Claims vs Policy [video]
6.2.2 authorize roles programmatically
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 296-298
- Role-based authorization in ASP.NET Core
6.2.3 configure and work with custom UserStores using middleware
6.2.4 configure controllers and actions to participate in authorization
6.3 Design and implement claims-based authentication
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 303-314
- Claims-based authorization in ASP.NET Core
- ASP.NET Core 3 - Authentication - Ep.3 Authorization (All about Policies and Claims) [video]
6.3.1 perform authentication and authorization using tokens including OpenID, OAuth, JWT, SAML, bearer tokens, etc.
- Bearer Token Authentication in ASP.NET Core
- Авторизация с помощью JWT-токенов
- ASP.NET Core 3 - OAuth - Ep.5 JWT Bearer [video]
- ASP.NET Core 3 - OAuth - Ep.6 OAuth Client [video]
- Authentication and Authorization in ASP.NET Core (Module 4) [$][video]
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 310-313
6.4 Manage data integrity
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 314-324
6.4.1 Apply encryption to application data
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 316-318
- Cryptography in .NET
6.4.2 apply encryption to the configuration sections of an application
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 319-320
- Encrypting and Decrypting Configuration Sections
6.4.3 sign application data to prevent tampering
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 321-322
6.4.4 secure data using Azure Key Vault
6.4.5 implement encryption for data protection using the data protection APIs in transit and at rest
6.5 Implement a secure site
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 324-338
- Securing ASP.NET and ASP.NET Core Applications [$][video]
6.5.1 Secure communication by applying SSL certificates
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 325-328
- Configuring HTTPS in ASP.NET Core across different platforms
6.5.2 require SSL for all requests
6.5.3 enable SSL hosting in the development environment
6.5.4 implement SSL using Azure Load Balancers
- Understanding Azure Load Balancing Solutions - Azure Load Balancer, Azure Application Gateway and Azure Traffic Manager
- Open port 443 in the Azure load balancer
6.5.5 salt and hash passwords for storage
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 328-331
- Hash passwords in ASP.NET Core
6.5.6 use HTML encoding to prevent cross-site scripting attacks (ANTI-XSS Library)
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 331-332
- Prevent Cross-Site Scripting (XSS) in ASP.NET Core
- Cross Site Scripting (XSS) Prevention for ASP.NET Core and ASP.NET Applications [$][video]
6.5.7 implement deferred validation and handle unvalidated requests, for example, form, querystring, and URL
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 332-333
- ASP.NET Core and ASP.NET Input Validation [$][video]
6.5.8 prevent SQL injection attacks by parameterizing queries
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 333-335
- Defeating Injection Attacks in ASP.NET and ASP.NET Core [$][video]
6.5.9 prevent cross-site request forgeries (XSRF)
- "Exam Ref 70-486 Developing ASP.NET MVC 4 Web"[1] pages 335-336
- Prevent Cross-Site Request Forgery (XSRF/CSRF) attacks in ASP.NET Core
- Cross Site Request Forgery (CSRF) Prevention for ASP.NET Core and ASP.NET Applications [$][video]
6.5.10 use Azure Security Center to monitor Azure resources
6.5.11 implement Cross Origin Resource Sharing (CORS)
- Enable Cross-Origin Requests (CORS) in ASP.NET Core
- Configuring CORS in ASP.NET and ASP.NET Core [$][video]
6.5.12 implement protection against open redirect attacks
[1] Exam Ref 70-486 Developing ASP.NET MVC 4 Web
[2] Адам Фримен “Pro ASP.NET Core MVC 2”. – Диалектика, 2019.