Programming Microsoft ASP.NET 4 - Dino Esposito [603]
External Applications to Authenticate Users
Forms Authentication and Secured Sockets
General Security Issues
Creating a Custom Principal
The Membership and Role Management API
The Membership Class
The Programming Interface of the Membership Class
Setting Up Membership Support
Validating Users
Managing Users and Passwords
The Membership Provider
The ProviderBase Class
The MembershipProvider Class
Extending the Provider’s Interface
A Custom Provider for Legacy Code
Configuring a Membership Provider
Managing Roles
The Role Management API
The Roles Class
The Role Provider
Quick Tour of Claims-Based Identity
Claims-Based Identity
Claims and Identity Providers
The Authentication Workflow
Claims and Policies
Using Claims in ASP.NET Applications
Picking Up the STS
Configuring the ASP.NET Application
Security-Related Controls
The Login Control
Setting Up the Login Control
The Programming Interface of the Control
Events of the Control
The LoginName Control
The LoginStatus Control
Setting Up the LoginStatus Control
The Programming Interface of the Control
The LoginView Control
The Programming Interface of the Control
Creating a Login Template
Creating Role-Based Templates
The PasswordRecovery Control
Requirements for Password Retrieval
Retrieving a Password
The ChangePassword Control
User Authentication
Password Change
The CreateUserWizard Control
Summary
V. The Client Side
20. Ajax Programming
The Ajax Infrastructure
The Hidden Engine of Ajax
The Classic Browser-Led Model
The New Out-of-Band Model
From Dynamic HTML to the Standard DOM
The XMLHttpRequest Object
Using the XMLHttpRequest Object
JavaScript and Ajax
Functional Programming in JavaScript
Objects in JavaScript
Using Closures
Using Prototypes
Cross-Domain Ajax
Partial Rendering in ASP.NET
The ScriptManager Control
Properties of the ScriptManager Control
Methods of the ScriptManager Control
Events of the ScriptManager Control
The ScriptManagerProxy Control
Script Binding and Loading
Handling Debug and Release Script Files
Script Globalization
The UpdatePanel Control
The UpdatePanel Control at a Glance
The Programming Interface of the Control
Populating the Panel Programmatically
Master Pages and Updatable Regions
Considerations Regarding Partial Rendering
Configuring for Conditional Refresh
Detecting Postbacks from Child Controls
Programmatic Updates
Using Triggers
Full Postbacks from Inside Updatable Panels
Giving Feedback to the User
The UpdateProgress Control
Composing the Progress Screen
Client-Side Events for Richer Feedback
Disabling Visual Elements During Updates
Aborting a Pending Update
The Ins and Outs of Partial Rendering
Issues with Concurrent Calls
Issues with Polling
REST and Ajax
Scriptable Services
The HTTP Façade
WCF Services
ASP.NET Web Services
Discriminate Against Outsiders
Trusting the HTTP Façade
JSON Payloads
JSON at a Glance
Data Contracts
Why JSON Is Preferable to XML
JavaScript Client Code
Getting a Proxy for the HTTP Façade
Using the Proxy
Remote Calls via Page Methods
Summary
21. jQuery Programming
Power to the Client
Programming within the Browser
Original Goals of the Language
The Scripting Engine
Flaws and Workarounds
What You Write JavaScript Code For
The Gist of jQuery
Details of the Library
The Root Object
jQuery and Functional Programming
Working with jQuery
Detecting DOM Readiness
The DOM ReadyState Property
The jQuery’s Ready Function
Onload vs. Ready
Wrapped Sets
Enumerating the Content