The Web Management API
Asp.Net includes a membership system that's great for self-service web sites, where users can set up their own account and recover lost passwords. Although some built-in functionality allows for listing and updating basic data, it is not easy to perform certain administrative functions such as changing a user's password since Asp.Net requires information such as the old password or password question when calling its methods.
The Web Management API is a library of functions that work with and extend the Membership, Roles, Profile and Health Monitoring capabilities of Asp.Net to provide tools that are useful for anyone who administers or manages an Asp.Net Web Application. In some cases, the tools simply re-package built-in functionality to make it available from remote clients and in other cases, the tool introduces whole new capabilities.
The Web Management API works with these aspects of Asp.Net:
Methods for locating and updating membership users
Methods for identifying role members and setting role membership
Methods for defining user interface hints for creating a dynamic Profile UI
Methods for locating, grouping and deleting Asp.Net Health Monitoring "web" events.
The Web Management API provides functionality that includes:
- Searching for users, role members, web events based on search criteria with support for pagination
- Retrieval of extended information for a membership user in a single request that includes profile data (including labels), password format, role membership and so forth
- Ability to administratively change or reset user passwords
- Ability to change the passwordFormat for individual users
- Access to methods using http requests and get the response as XML or JSON (the REST API)
- Information to help measure performance (Monthly logins, Aging Summary, Locked out users)
Summary of API methods
The following lists identify the methods that are available in the MembershipManagement, RolesManagement, ProfileManagement and HealthMonitoring Modules.
Each of these is available as a static method that you can call like this:
In addition, each method can be called remotely via an HTTP request like this:
Health Monitoring (Event Monitoring)
The Web Management API was designed to deliver "instant gratification" for the majority of developers who use the built-in "Sql Providers" but also to allow for nearly unlimited flexibility for those who use custom membership providers or need to incorporate custom business logic.
Each method in the Web Management API raises events for which you can add event handlers. Events such as "ChangingPassword" give you the user name, password and a "Cancel" flag that let you decide whether to abort the request. Events such as "DeletedUser" let you know when to clean up data in a related system.
Each of the "Modules" is built using one or more components called "Providers" that can be swapped out with your own implementation. The Providers that are built-into the Web Management API are designed to work with Microsoft's SqlMembershipProvider, SqlRolesProvider and SqlProfileProvider or to connect directly to known (Asp.Net) tables such as "aspnet_WebEvent_Events" in a Sql Server database. If you are not using the Sql-based providers or just want more control, you can easily swap out our provider with your own.