Home Page Icon
Home Page
Table of Contents for
5. Website Security
Close
5. Website Security
by Matthew MacDonald
Beginning ASP.NET 4 in VB 2010
Copyright
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
About This Book
Who Should Read This Book
What You Need to Use This Book
Code Samples
Chapter Overview
Part 1: Introducing .NET
Part 2: Developing ASP.NET Applications
Part 3: Building Better Web Forms
Part 4: Working with Data
Part 5: Website Security
Part 6: Advanced ASP.NET
Feedback
1. Introducing .NET
1. The .NET Framework
1.1. The Evolution of Web Development
1.1.1. HTML and HTML Forms
1.1.2. Server-Side Programming
1.1.3. Client-Side Programming
1.2. The .NET Framework
1.2.1. VB, C#, and the .NET Languages
1.2.1.1. Intermediate Language
1.2.2. The Common Language Runtime
1.2.3. The .NET Class Library
1.2.4. Visual Studio
1.3. The Last Word
2. The Visual Basic Language
2.1. The .NET Languages
2.2. Variables and Data Types
2.2.1. Assignment and Initializers
2.2.2. Arrays
2.2.2.1. The ArrayList
2.2.3. Enumerations
2.3. Variable Operations
2.3.1. Advanced Math
2.3.2. Type Conversions
2.4. Object-Based Manipulation
2.4.1. The String Type
2.4.2. The DateTime and TimeSpan Types
2.4.3. The Array Type
2.5. Conditional Logic
2.5.1. The If . . . End If Block
2.5.2. The Select Case Block
2.6. Loops
2.6.1. The For ... Next Block
2.6.2. The For Each Block
2.6.3. The Do . . . Loop Block
2.7. Methods
2.7.1. Parameters
2.7.2. Method Overloading
2.7.3. Optional and Named Parameters
2.7.4. Delegates
2.8. The Last Word
3. Types, Objects, and Namespaces
3.1. The Basics of Classes
3.1.1. Shared and Instance Members
3.1.2. A Simple Class
3.2. Building a Basic Class
3.2.1. Creating an Object
3.2.2. Adding Properties
3.2.3. Automatic Properties
3.2.4. Adding a Method
3.2.5. Adding a Constructor
3.2.6. Adding an Event
3.2.6.1. Handling an Event
3.2.6.2. Declarative Event Handling
3.2.7. Testing the Product Class
3.3. Value Types and Reference Types
3.3.1. Assignment Operations
3.3.2. Equality Testing
3.3.3. Passing Parameters by Reference and by Value
3.3.4. Reviewing .NET Types
3.4. Understanding Namespaces and Assemblies
3.4.1. Using Namespaces
3.4.2. Importing Namespaces
3.4.3. Assemblies
3.5. Advanced Class Programming
3.5.1. Inheritance
3.5.2. Shared Members
3.5.3. Casting Objects
3.5.4. Partial Classes
3.5.5. Generics
3.6. The Last Word
2. Developing ASP.NET Applications
4. Visual Studio
4.1. The Promise of Visual Studio
4.2. Creating Websites
4.2.1. Creating an Empty Web Application
4.2.2. Websites and Web Projects
4.2.3. The Hidden Solution Files
4.2.4. The Solution Explorer
4.2.5. Adding Web Forms
4.2.6. Migrating a Website from a Previous Version of Visual Studio
4.3. Designing a Web Page
4.3.1. Adding Web Controls
4.3.2. The Properties Window
4.4. The Anatomy of a Web Form
4.4.1. The Web Form Markup
4.4.2. The Page Directive
4.4.3. The Doctype
4.4.4. The Essentials of XHTML
4.4.4.1. Elements
4.4.4.2. Attributes
4.4.4.3. Formatting
4.4.4.4. A Complete Web Page
4.5. Writing Code
4.5.1. The Code-Behind Class
4.5.2. Adding Event Handlers
4.5.3. Outlining
4.5.4. IntelliSense
4.5.4.1. Member List
4.5.4.2. Error Underlining
4.5.4.3. AutoCorrect
4.5.5. Code Formatting and Coloring
4.6. Visual Studio Debugging
4.6.1. The Visual Studio Web Server
4.6.2. Single-Step Debugging
4.6.3. Variable Watches
4.7. The Last Word
5. Web Form Fundamentals
5.1. The Anatomy of an ASP.NET Application
5.1.1. ASP.NET File Types
5.1.2. ASP.NET Application Directories
5.2. Introducing Server Controls
5.2.1. HTML Server Controls
5.2.2. Converting an HTML Page to an ASP.NET Page
5.2.3. View State
5.2.4. The HTML Control Classes
5.2.5. Adding the Currency Converter Code
5.2.6. Behind the Scenes with the Currency Converter
5.3. Improving the Currency Converter
5.3.1. Adding Multiple Currencies
5.3.1.1. Dissecting the Code . . .
5.3.2. Storing Information in the List
5.3.3. Adding Linked Images
5.3.4. Setting Styles
5.4. A Deeper Look at HTML Control Classes
5.4.1. HTML Control Events
5.4.2. Advanced Events with the HtmlInputImage Control
5.4.3. The HtmlControl Base Class
5.4.4. The HtmlContainerControl Class
5.4.5. The HtmlInputControl Class
5.5. The Page Class
5.5.1. Sending the User to a New Page
5.5.2. HTML Encoding
5.6. Application Events
5.6.1. The global.asax File
5.6.2. Additional Application Events
5.7. ASP.NET Configuration
5.7.1. The web.config File
5.7.2. Nested Configuration
5.7.3. Storing Custom Settings in the web.config File
5.7.4. The Website Administration Tool (WAT)
5.8. The Last Word
6. Web Controls
6.1. Stepping Up to Web Controls
6.1.1. Basic Web Control Classes
6.1.2. The Web Control Tags
6.2. Web Control Classes
6.2.1. The WebControl Base Class
6.2.2. Units
6.2.3. Enumerations
6.2.4. Colors
6.2.5. Fonts
6.2.6. Focus
6.2.7. The Default Button
6.3. List Controls
6.3.1. Multiple-Select List Controls
6.3.2. The BulletedList Control
6.4. Table Controls
6.5. Web Control Events and AutoPostBack
6.5.1. How Postback Events Work
6.5.2. The Page Life Cycle
6.5.2.1. Dissecting the Code . . .
6.6. A Simple Web Page
6.6.1. Improving the Greeting Card Generator
6.6.2. Generating the Cards Automatically
6.7. The Last Word
7. Error Handling, Logging, and Tracing
7.1. Common Errors
7.2. Exception Handling
7.2.1. The Exception Class
7.2.2. The Exception Chain
7.3. Handling Exceptions
7.3.1. Catching Specific Exceptions
7.3.2. Nested Exception Handlers
7.3.2.1. Dissecting the Code . . .
7.3.3. Exception Handling in Action
7.3.4. Mastering Exceptions
7.4. Throwing Your Own Exceptions
7.5. Logging Exceptions
7.5.1. Viewing the Windows Event Logs
7.5.2. Writing to the Event Log
7.5.3. Custom Logs
7.5.4. A Custom Logging Class
7.5.5. Retrieving Log Information
7.6. Page Tracing
7.6.1. Enabling Tracing
7.6.2. Tracing Information
7.6.2.1. Request Details
7.6.2.2. Trace Information
7.6.2.3. Control Tree
7.6.2.4. Session State and Application State
7.6.2.5. Request Cookies and Response Cookies
7.6.2.6. Headers Collection
7.6.2.7. Form Collection
7.6.2.8. Query String Collection
7.6.2.9. Server Variables
7.6.3. Writing Trace Information
7.6.4. Application-Level Tracing
7.7. The Last Word
8. State Management
8.1. The Problem of State
8.2. View State
8.2.1. The ViewState Collection
8.2.2. A View State Example
8.2.3. Making View State Secure
8.2.3.1. Tamper-Proof View State
8.2.3.2. Private View State
8.2.4. Retaining Member Variables
8.2.5. Storing Custom Objects
8.3. Transferring Information Between Pages
8.3.1. Cross-Page Posting
8.3.1.1. Getting More Information from the Source Page
8.3.2. The Query String
8.3.2.1. A Query String Example
8.3.2.2. URL Encoding
8.4. Cookies
8.4.1. A Cookie Example
8.5. Session State
8.5.1. Session Tracking
8.5.2. Using Session State
8.5.3. A Session State Example
8.6. Session State Configuration
8.6.1. Cookieless
8.6.2. Timeout
8.6.3. Mode
8.6.3.1. InProc
8.6.3.2. Off
8.6.3.3. StateServer
8.6.3.4. SQLServer
8.6.3.4.1. Custom
8.6.3.5. Compression
8.7. Application State
8.8. An Overview of State Management Choices
8.9. The Last Word
3. Building Better Web Forms
9. Validation
9.1. Understanding Validation
9.1.1. The Validation Controls
9.1.2. Server-Side Validation
9.1.3. Client-Side Validation
9.2. The Validation Controls
9.2.1. A Simple Validation Example
9.2.2. Other Display Options
9.2.3. Manual Validation
9.2.4. Validating with Regular Expressions
9.2.4.1. Literals and Metacharacters
9.2.4.2. Finding a Regular Expression
9.2.5. A Validated Customer Form
9.2.6. Validation Groups
9.3. The Last Word
10. Rich Controls
10.1. The Calendar
10.1.1. Formatting the Calendar
10.1.2. Restricting Dates
10.2. The AdRotator
10.2.1. The Advertisement File
10.2.2. The AdRotator Class
10.3. Pages with Multiple Views
10.3.1. The MultiView Control
10.3.1.1. Creating Views
10.3.1.2. Showing a View
10.3.2. The Wizard Control
10.3.2.1. Wizard Steps
10.3.2.2. Wizard Events
10.3.2.3. Formatting the Wizard
10.3.2.4. Validation with the Wizard
10.4. The Last Word
11. User Controls and Graphics
11.1. User Controls
11.1.1. Creating a Simple User Control
11.1.2. Independent User Controls
11.1.3. Integrated User Controls
11.1.4. User Control Events
11.1.5. Passing Information with Events
11.2. Dynamic Graphics
11.2.1. Basic Drawing
11.2.2. Drawing a Custom Image
11.2.3. Placing Custom Images Inside Web Pages
11.2.4. Image Format and Quality
11.3. The Last Word
12. Styles, Themes, and Master Pages
12.1. Styles
12.1.1. Style Types
12.1.2. Creating a Basic Inline Style
12.1.2.1. The Style Builder
12.1.2.2. The CSS Properties Window
12.1.2.3. Style Inheritance
12.1.3. Creating a Style Sheet
12.1.3.1. The CSS Outline Window
12.1.4. Applying Style Sheet Rules
12.1.4.1. The Apply Styles Window
12.1.4.2. Creating More Styles
12.2. Themes
12.2.1. How Themes Work
12.2.2. Applying a Simple Theme
12.2.3. Handling Theme Conflicts
12.2.4. Creating Multiple Skins for the Same Control
12.2.5. More Advanced Skins
12.3. Master Page Basics
12.3.1. A Simple Master Page and Content Page
12.3.2. How Master Pages and Content Pages Are Connected
12.3.3. A Master Page with Multiple Content Regions
12.3.4. Default Content
12.3.5. Master Pages and Relative Paths
12.4. Advanced Master Pages
12.4.1. Style-Based Layouts
12.4.2. Code in a Master Page
12.4.3. Interacting with a Master Page Programmatically
12.5. The Last Word
13. Website Navigation
13.1. Site Maps
13.1.1. Defining a Site Map
13.1.1.1. Rule 1: Site Maps Begin with the <siteMap> Element
13.1.1.2. Rule 2: Each Page Is Represented by a <siteMapNode> Element
13.1.1.3. Rule 3: A <siteMapNode> Element Can Contain Other <siteMapNode> Elements
13.1.1.4. Rule 4: Every Site Map Begins with a Single <siteMapNode>
13.1.1.5. Rule 5: Duplicate URLs Are Not Allowed
13.1.2. Seeing a Simple Site Map in Action
13.1.3. Binding an Ordinary Page to a Site Map
13.1.4. Binding a Master Page to a Site Map
13.1.5. Binding Portions of a Site Map
13.1.5.1. Showing Subtrees
13.1.5.2. Using Different Site Maps in the Same File
13.1.6. The SiteMap Class
13.2. URL Mapping and Routing
13.2.1. URL Mapping
13.2.2. URL Routing
13.3. The SiteMapPath Control
13.3.1. Customizing the SiteMapPath
13.3.2. Using SiteMapPath Styles and Templates
13.3.3. Adding Custom Site Map Information
13.4. The TreeView Control
13.4.1. TreeView Properties
13.4.2. TreeView Styles
13.4.2.1. Applying Styles to Node Types
13.4.2.2. Applying Styles to Node Levels
13.5. The Menu Control
13.5.1. Menu Styles
13.5.2. Menu Templates
13.6. The Last Word
4. Working with Data
14. ADO.NET Fundamentals
14.1. Understanding Databases
14.2. Configuring Your Database
14.2.1. SQL Server Express
14.2.2. Browsing and Modifying Databases in Visual Studio
14.2.3. The sqlcmd Command-Line Tool
14.3. SQL Basics
14.3.1. Running Queries in Visual Studio
14.3.2. The Select Statement
14.3.2.1. A Sample Select Statement
14.3.2.2. Improving the Select Statement
14.3.2.3. An Alternative Select Statement
14.3.2.4. The Where Clause
14.3.2.5. String Matching with the Like Operator
14.3.2.6. Aggregate Queries
14.3.3. The SQL Update Statement
14.3.4. The SQL Insert Statement
14.3.5. The SQL Delete Statement
14.4. The Data Provider Model
14.5. Direct Data Access
14.5.1. Creating a Connection
14.5.1.1. The Connection String
14.5.1.2. Windows Authentication
14.5.1.3. User Instance Connections
14.5.1.4. Storing the Connection String
14.5.1.5. Making the Connection
14.5.2. The Select Command
14.5.3. The DataReader
14.5.4. Putting It All Together
14.5.4.1. Filling the List Box
14.5.4.2. Retrieving the Record
14.5.5. Updating Data
14.5.5.1. Displaying Values in Text Boxes
14.5.5.2. Adding a Record
14.5.5.3. Creating More Robust Commands
14.5.5.4. Updating a Record
14.5.5.5. Deleting a Record
14.6. Disconnected Data Access
14.6.1. Selecting Disconnected Data
14.6.2. Selecting Multiple Tables
14.6.3. Defining Relationships
14.7. The Last Word
15. Data Binding
15.1. Introducing Data Binding
15.1.1. Types of ASP.NET Data Binding
15.1.1.1. Single-Value, or "Simple," Data Binding
15.1.1.2. Repeated-Value, or "List," Binding
15.1.2. How Data Binding Works
15.2. Single-Value Data Binding
15.2.1. A Simple Data Binding Example
15.2.2. Simple Data Binding with Properties
15.2.3. Problems with Single-Value Data Binding
15.2.4. Using Code Instead of Simple Data Binding
15.3. Repeated-Value Data Binding
15.3.1. Data Binding with Simple List Controls
15.3.2. A Simple List Binding Example
15.3.3. Strongly Typed Collections
15.3.4. Multiple Binding
15.3.5. Data Binding with a Dictionary Collection
15.3.6. Using the DataValueField Property
15.3.7. Data Binding with ADO.NET
15.3.8. Creating a Record Editor
15.4. Data Source Controls
15.4.1. The Page Life Cycle with Data Binding
15.4.2. The SqlDataSource
15.4.3. Selecting Records
15.4.3.1. How the Data Source Controls Work
15.4.4. Parameterized Commands
15.4.4.1. Other Types of Parameters
15.4.4.2. Setting Parameter Values in Code
15.4.5. Handling Errors
15.4.6. Updating Records
15.4.6.1. Strict Concurrency Checking
15.5. The Last Word
16. The Data Controls
16.1. The GridView
16.1.1. Automatically Generating Columns
16.1.2. Defining Columns
16.1.2.1. Configuring Columns
16.1.2.2. Generating Columns with Visual Studio
16.2. Formatting the GridView
16.2.1. Formatting Fields
16.2.2. Using Styles
16.2.2.1. Configuring Styles with Visual Studio
16.2.3. Formatting-Specific Values
16.3. Selecting a GridView Row
16.3.1. Adding a Select Button
16.3.1.1. Using a Data Field As a Select Button
16.3.2. Using Selection to Create Master-Details Pages
16.4. Editing with the GridView
16.5. Sorting and Paging the GridView
16.5.1. Sorting
16.5.1.1. Sorting and Selecting
16.5.2. Paging
16.5.2.1. Paging and Selection
16.6. Using GridView Templates
16.6.1. Using Multiple Templates
16.6.2. Editing Templates in Visual Studio
16.6.3. Handling Events in a Template
16.6.4. Editing with a Template
16.6.4.1. Editing with Validation
16.6.4.2. Editing Without a Command Column
16.7. The DetailsView and FormView
16.7.1. The DetailsView
16.7.1.1. Defining Fields
16.7.2. The FormView
16.8. The Last Word
17. Files and Streams
17.1. Files and Web Applications
17.2. File System Information
17.2.1. The Path Class
17.2.2. The Directory and File Classes
17.2.2.1. Dissecting the Code . . .
17.2.3. The DirectoryInfo and FileInfo Classes
17.2.4. The DriveInfo Class
17.2.5. A Sample File Browser
17.2.5.1. Dissecting the Code . . .
17.3. Reading and Writing with Streams
17.3.1. Text Files
17.3.2. Binary Files
17.3.3. Shortcuts for Reading and Writing Files
17.3.4. A Simple Guest Book
17.3.4.1. Dissecting the Code . . .
17.4. Allowing File Uploads
17.4.1. The FileUpload Control
17.4.1.1. Dissecting the Code . . .
17.5. The Last Word
18. XML
18.1. XML Explained
18.1.1. Improving the List with XML
18.1.2. XML Basics
18.1.3. Attributes
18.1.4. Comments
18.2. The XML Classes
18.2.1. The XML TextWriter
18.2.1.1. Dissecting the Code . . .
18.2.2. The XML Text Reader
18.2.2.1. Dissecting the Code . . .
18.2.3. Working with XML Documents in Memory
18.2.3.1. Dissecting the Code . . .
18.2.4. Reading an XML Document
18.2.5. Searching an XML Document
18.3. XML Validation
18.3.1. XML Namespaces
18.3.1.1. Writing XML Content with Namespaces
18.3.2. XML Schema Definition
18.3.2.1. Dissecting the Code . . .
18.3.3. Validating an XML Document
18.4. XML Display and Transforms
18.4.1. The Xml Web Control
18.5. The Last Word
5. Website Security
19. Security Fundamentals
19.1. Understanding Security
19.1.1. Testing and Deploying Security Settings
19.2. Authentication and Authorization
19.3. Forms Authentication
19.3.1. Web.config Settings
19.3.2. Authorization Rules
19.3.2.1. Controlling Access to Specific Directories
19.3.2.2. Controlling Access to Specific Files
19.3.2.3. Controlling Access for Specific Users
19.3.3. The WAT
19.3.4. The Login Page
19.3.4.1. Retrieving the User's Identity
19.3.4.2. Signing Out
19.3.4.3. Persistent Cookies
19.4. Windows Authentication
19.4.1. Web.config Settings
19.4.2. A Windows Authentication Test
19.5. The Last Word
20. Membership
20.1. The Membership Data Store
20.1.1. Membership with SQL Server Express
20.1.2. Using the Full Version of SQL Server
20.1.3. Configuring the Membership Provider
20.1.4. Creating Users with the WAT
20.1.5. The Membership and MembershipUser Classes
20.1.6. Authentication with Membership
20.1.7. Disabled Accounts
20.2. The Security Controls
20.2.1. The Login Control
20.2.2. The CreateUserWizard Control
20.2.3. The PasswordRecovery Control
20.3. Role-Based Security
20.3.1. Creating and Assigning Roles
20.3.2. Restricting Access Based on Roles
20.3.3. The LoginView Control
20.4. The Last Word
21. Profiles
21.1. Understanding Profiles
21.1.1. Profile Performance
21.1.2. How Profiles Store Data
21.2. Using the SqlProfileProvider
21.2.1. Enabling Authentication
21.2.2. Using SQL Server Express
21.2.3. Using the Full Version of SQL Server
21.2.4. The Profile Databases
21.2.5. Defining Profile Properties
21.2.6. Using Profile Properties
21.2.7. Profile Serialization
21.2.8. Profile Groups
21.2.9. Profiles and Custom Data Types
21.2.9.1. Dissecting the Code . . .
21.2.9.2. Custom Type Serialization
21.2.9.3. Automatic Saves
21.2.10. The Profile API
21.2.11. Anonymous Profiles
21.2.11.1. Migrating Anonymous Profiles
21.3. The Last Word
6. Advanced ASP.NET
22. Component-Based Programming
22.1. Why Use Components?
22.2. Component Jargon
22.2.1. Three-Tier Design
22.2.2. Encapsulation
22.2.3. Business Objects
22.2.4. Data Objects
22.2.5. Components and Classes
22.3. Creating a Component
22.3.1. Classes and Namespaces
22.3.2. Class Members
22.3.3. Adding a Reference to the Component
22.3.4. Using the Component
22.4. Properties and State
22.4.1. A Stateful Account Class
22.4.2. A Stateless AccountUtility Class
22.5. Data-Access Components
22.5.1. A Simple Data-Access Component
22.5.1.1. Dissecting the Code . . .
22.5.2. Using the Data-Access Component
22.5.2.1. Dissecting the Code . . .
22.5.3. Enhancing the Component with Error Handling
22.5.4. Enhancing the Component with Aggregate Information
22.6. The ObjectDataSource
22.6.1. Making Classes the ObjectDataSource Can Understand
22.6.2. Selecting Records
22.6.3. Using Method Parameters
22.6.4. Updating Records
22.7. The Last Word
23. Caching
23.1. Understanding Caching
23.1.1. When to Use Caching
23.1.2. Caching in ASP.NET
23.2. Output Caching
23.2.1. Caching on the Client Side
23.2.2. Caching and the Query String
23.2.3. Caching with Specific Query String Parameters
23.2.4. A Multiple Caching Example
23.2.5. Fragment Caching
23.2.6. Cache Profiles
23.3. Data Caching
23.3.1. Adding Items to the Cache
23.3.2. A Simple Cache Test
23.3.3. Caching to Provide Multiple Views
23.3.4. Caching with the Data Source Controls
23.3.4.1. Caching with SqlDataSource
23.3.4.2. Caching with ObjectDataSource
23.4. Caching with Dependencies
23.4.1. File Dependencies
23.4.2. Cache Item Dependencies
23.4.3. SQL Server Cache Dependencies
23.4.3.1. Enabling the Service Broker
23.4.3.2. Initializing the Caching Service
23.4.3.3. Creating the Cache Dependency
23.5. The Last Word
24. LINQ and the Entity Framework
24.1. Understanding LINQ
24.2. LINQ Basics
24.2.1. LINQ Expressions
24.2.1.1. Projections
24.2.1.2. Filtering and Sorting
24.3. The Entity Framework
24.3.1. Creating an Entity Data Model
24.3.2. The Data Model Diagram
24.3.3. Updating a Data Model
24.3.4. The Data Model Code
24.3.4.1. Entities
24.3.4.2. Contexts
24.3.5. Querying the Data Model
24.3.6. Handling Errors
24.3.7. Navigating Relationships
24.4. Getting More Advanced with the Entity Framework
24.4.1. Querying with LINQ to Entities
24.4.2. Controlling When Data is Loaded
24.4.3. Updates, Inserts, and Deletes
24.4.4. Managing Concurrency
24.5. The EntityDataSource
24.5.1. Displaying Data
24.5.2. Editing Data
24.6. The Last Word
25. ASP.NET AJAX
25.1. Understanding Ajax
25.1.1. Ajax: The Good
25.1.2. Ajax: The Bad
25.1.3. The ASP.NET AJAX Toolkit
25.1.4. The ScriptManager
25.2. Partial Refreshes
25.2.1. A Simple UpdatePanel Test
25.2.2. Handling Errors
25.2.3. Conditional Updates
25.2.4. Triggers
25.3. Progress Notification
25.3.1. Showing a Simulated Progress Bar
25.3.2. Cancellation
25.4. Timed Refreshes
25.5. The ASP.NET AJAX Control Toolkit
25.5.1. Installing the ASP.NET AJAX Control Toolkit
25.5.2. The Accordion
25.5.3. The AutoCompleteExtender
25.5.4. Getting More Controls
25.6. The Last Word
26. Deploying ASP.NET Applications
26.1. ASP.NET Applications and the Web Server
26.1.1. How Web Servers Work
26.1.2. The Virtual Directory
26.1.3. Web Application URLs
26.1.4. Web Farms
26.2. Internet Information Services (IIS)
26.2.1. The Many Faces of IIS
26.2.2. Installing IIS in Windows 7 or Windows Vista
26.2.3. Installing IIS 7 in Windows Server 2008
26.3. Managing Websites with IIS Manager
26.3.1. Creating a Virtual Directory
26.3.2. Understanding Application Pools
26.3.3. The ASP.NET Account
26.3.3.1. Changing the ASP.NET Account
26.3.3.2. Giving the ASP.NET Account More Privileges
26.3.4. Configuring a Website
26.3.4.1. The ASP.NET Configuration Icons
26.3.4.2. The IIS Configuration Icons
26.3.4.3. The Management Configuration Icons
26.3.5. The Default Page
26.3.6. Custom Error Pages
26.3.7. The Machine Key
26.3.8. Windows Authentication
26.3.9. Confidentiality with SSL and Certificates
26.3.9.1. Creating a Certificate Request
26.3.9.2. Implementing SSL
26.4. Deploying a Simple Site
26.4.1. Web Applications and Components
26.4.2. Other Configuration Steps
26.4.3. Code Compilation
26.5. Deploying with Visual Studio
26.5.1. Creating a Virtual Directory for a New Project
26.5.2. Copying a Website
26.5.3. Publishing a Website
26.6. The Last Word
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
18. XML
Next
Next Chapter
19. Security Fundamentals
Part 5. Website Security
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset