# ASP.NET Web Site Administration Tool

ASP.NET Web Site Administration Tool is a utility provided along with Microsoft Visual Studio which assists in the configuration and administration of a website created using Microsoft Visual Studio 2005 and later versions.

## History

The Web Site Administration tool was first introduced with ASP.NET 2.0 along with ASP.NET Microsoft Management Console (MMC) Snap-in.

## Interface

ASP.NET Web Site Administration Tool can be accessed by clicking ASP.NET Configuration from the Website menu or Project menu in Visual Studio 2010 Professional, or by clicking on the ASP.NET Configuration icon in the Solution Explorer window.
Programmatic access to the features provided by the ASP.NET Web Site administration tool is made possible by inclusion of the System.Web.Security namespace in the ASP.NET program. The classes Membership and Roles are used to store, access and modify user information in the ASPNETDB database. The user could be authenticated using the Membership.ValidateUser or FormsAuthentication.Authenticate methods. Page-based user authorization is realized by the usage of the AuthorizeRequest event of the HttpApplication class.

## Features

The ASP.NET Web Site Administration tool is a multi-tabbed utility which has the following features:
* Web Site Administration Tool Security Tab
* Web Site Administration Tool Application Tab
* Web Site Administration Tool Provider Tab
* Web Site Administration Tool Internals

### Security tab

The security tab is used to create users and roles, group users under different roles and assign access rules either at the role-level or user-level. When the Web site administration tool is opened to modify the existing settings, a new database is created in the App_Data folder of the application. This database stores ASP.NET membership-related information. The name of the database created is ASPNETDB by default.
The security tab simplifies and optimizes user authentication and authorization. It makes it comparatively easy to configure user permissions than code-based user-defined authentication systems which require a great amount of time, cost and manpower. However, a major drawback of this tool is that access rules could be defined only at the folder-level and not at the page-level.

### Application tab

The Application tab is used to specify application settings, configure SMTP settings and enable or disable debugging and tracing apart from other uses. The Application tab interacts with the configuration file of the application (web.config) and not with the ASPNETDB database. Application settings are created as objects and inserted as name-value pairs in the web.config file.

### Provider tab

The Provider tab is used to specify the database provider for the ASPNETDB database used to store ASP.NET membership and role information. The security page does not appear unless and until the database provider is specified in the Providers tab. An SQL Data provider is generally used, but Oracle Data providers are also used in case of Oracle databases. The provider allows the user the option to store all data related to the ASP.NET Website Administration tool or different databases for each purpose.