ASP.NET Ajax also provides support for built in server side services of ASP.NET 2.0 like Authentication, Profiles, Membership, Roles, etc. Microsoft states, "The Microsoft ASP.NET Profiles and Authentication services are provided by the ASP.NET Forms Authentication system, and are standard components of ASP.NET. The ASP.NET AJAX Extensions provide script access to these services via script proxies, through a fairly straightforward model under the Sys.Services namespace of the client AJAX library." Reference: http://www.asp.net/(S(ywiyuluxr3qb2dfva1z5lgeg))/learn/Ajax/tutorial-03-cs.aspx
This article discusses how you can work with the authentication and profile services using Ajax. The Profile object in ASP.NET can be used to store the user's profile information for later retrieval and usage.
Working with Authentication Service using Ajax
Before we begin, let's take a quick tour of ASP.NET Authentication. Authentication in ASP.NET is a process that enables you to validate the credentials of a user. Authentication and Authorization are key concepts as far as ASP.NET Security is concerned. Authentication enables you to verify the credentials of the user and Authorization is a process that is used to restrict access to the resources of the application. You have the following types of authentication in ASP.NET:
- Forms Authentication
- Windows Authentication
- Passport Authentication
The following code snippet illustrates the syntax for specifying authentication mode in the application's web.config file:
So, if you were to use Forms Authentication in your application, here's what you can specify in the application's web.config file:
Similarly, you can use the following configuration to specify that the application's authentication mode is Windows:
To implement Passport authentication in your application, you need to download and install the Passport SDK. Then, you can use configuration information in your application's web.config file similar to the following:
Note that you can also use your custom authentication mode for your application. To do that, you should turn off the default authentication using the following statement in your application's web.config file:
You can make use of the AuthenticationService class in ASP.NET Ajax to access authentication information using client side scripts. You have two methods in this class, namely, login and logout. While the former is used to verify the credentials of the user, the later can be used to clear the cookies and log the user out of the application. The following code snippet illustrates how you can enable authentication service using client side scripts:
You should also have Forms authentication enabled for your application to use authentication service using client side scripts.
The following code snippet illustrates how the Sys.Services.AuthenticationService.login() and Sys.Services.AuthenticationService.logout() methods can be used from client side scripts in your ASP.NET Ajax applications:
Working with the Profile Service
The following code snippet illustrates how you can enable Profile Service:
You can define your profile properties using the <profile> tag in your application's web.config file. Here is an example:
It is also possible to group your profile information using the <group> tag. Here is an example that illustrates how this can be done:
Here are a few links for further references on this topic:
The Authentication and Profile services are available as part of the ASP.NET Ajax Extensions Library. These are available as Sys.Services.AuthenticationService and Sys.Services.ProfileService classes in the ASP.NET Ajax Extensions Library. This article provided you a head start to the concepts related to Authentication and Profile Services and how they can be used from client side scripts using ASP.NET Ajax. Happy reading!