Skip to main content

Build your own Forms Authentication

The authentication ticked is created with the FormsAuthenticationTicket class. Its constructor accepts the following parameters:

version : The version of the authentication ticket[this value will be one]
name : The user name associated with the authentication ticket
issueDate : The date that the authentication ticket was issued
expiration : The date that the authentication ticket should expire
isPersistent: A boolean value indicating whether to allow the ticket to persist
after the user closes the browser
userData : A string value of any data that you would like to store. For eg.,
say your email ID.

Add an asp.net form, with a button 'Create Ticket'. On click on this button invoke the 'Login' method.

void Login(Object s, EventArgs e)
{
if (txtUsername.Text == "xxx" && txtPassword.Text == "xxx")
{
FormsAuthenticationTicket objTicket;
HttpCookie objCookie;
objTicket = new FormsAuthenticationTicket(1, txtUsername.Text,
DateTime.Now, DateTime.Now.AddMinutes(60), true,
"tt@server.com");
objCookie = new HttpCookie(".ASPXAUTH");
objCookie.Value = FormsAuthentication.Encrypt(objTicket);
Response.Cookies.Add(objCookie);

Response.Redirect("Default.aspx");
}
}

In the default.aspx Page_Load event add the following code..

void Page_Load() {
FormsIdentity objTicket;

objTicket = (FormsIdentity)User.Identity;
lblName.Text = objTicket.Ticket.Name;
lblIssueDate.Text = objTicket.Ticket.IssueDate.ToString();
lblExpiration.Text = objTicket.Ticket.Expiration.ToString();
lblIsPersistent.Text = objTicket.Ticket.IsPersistent.ToString();
lblVersion.Text = objTicket.Ticket.Version.ToString();
lblUserData.Text = objTicket.Ticket.UserData;
}

Enjoy coding..

Comments

Popular posts from this blog

JavaScript - The this keyword

"this" is one of the most misunderstood construct in JavaScript.  To understand this first lets go through how to create a construction function in JavaScript.  A constructor function is a function which is used to create instances of objects in JavaScript.

You define a constructor function using the same notation that you use to define a normal JavaScript function.  The convention to follow is to capitalize the first letter of the function name.

This requirement is not enforced by the JavaScript language but it is a generally accepted practice and there are many benefits which we will shortly discuss.

Let's define a constructor function to hold our menu information.

function Menu() { }
So, in the above snippet you have a constructor function named Menu defined. At present this function doesn't do anything good.

Let's see how to invoke this function

var menu = new Menu();
Let's add some public properties to this function.
function Menu() { this.menuName = &q…