This Class is useful for Creating FormAuthentication.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.NetworkInformation;
using System.Management;
using System.Security.Principal;

namespace AIMS_Shared
{
public class FormAuthentication
{
public FormAuthentication()
{
}

#region ::This Method is use for creating Formauthentication ticket and cookie::
public void CreateFormAuthenticationTicket(string userid, string UserData, HttpResponse httpResponse)
{
// Create a new ticket used for authentication
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // Ticket version
userid, // Username to be associated with this ticket
DateTime.Now, // Date/time issued
DateTime.Now.AddHours(14), // Date/time to expire
true, // "true" for a persistent user cookie (could be a checkbox on form)
UserData, // User-data (the roles from this user record in our database)
FormsAuthentication.FormsCookiePath);
// Path cookie is valid for

// Hash the cookie for transport over the wire
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName, // Name of auth cookie (it's the name specified in web.config)
hash);
// Hashed ticket

cookie.Expires = DateTime.Now.AddHours(14);

httpResponse.Cookies.Add(cookie);

}
#endregion

#region ::This function is use for geting user identity information ::
public string GetIdentity(System.Security.Principal.IIdentity iIdentity)
{
string userData = "";
FormsIdentity id = (FormsIdentity)iIdentity;
FormsAuthenticationTicket ticket = id.Ticket;
userData = ticket.UserData;
return userData;
}
#endregion

public string GetCurrentSystemMACAddress()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MACAddress = String.Empty;
foreach (ManagementObject mo in moc)
{
if (MACAddress == String.Empty) // only return MAC Address from first card
{
if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
}
mo.Dispose();
}

MACAddress = MACAddress.Replace(":", "");
return MACAddress;

}

public string GetCookieValue(HttpContext Context)
{
string CookieValue = string.Empty;
// Get the authentication cookie
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];
// If the cookie can't be found, don't issue the ticket
// if (authCookie == null) return;

// Get the authentication ticket and rebuild the principal
// & identity
FormsAuthenticationTicket authTicket =
FormsAuthentication.Decrypt(authCookie.Value);
string[] roles = authTicket.UserData.Split(new Char[] { '|' });
//GenericIdentity userIdentity =
// new GenericIdentity(authTicket.Name);
//GenericPrincipal userPrincipal =
// new GenericPrincipal(userIdentity, roles);
//Context.User = userPrincipal;
CookieValue = roles.ToString();
return CookieValue;
}
}
}

You must Add In your web.config file.

<authentication mode="Forms">
<forms name="FormsAuthDB.AspxAuth" loginUrl="UserLogin.aspx" protection="All" path="/"/>
</authentication>