You should create the ticket by your self. Here is a sample code:
Place this code instead of "FormsAuthentication.RedirectFromLoginPage(
UserId.Text, false )"
HttpCookie cookie = FormsAuthentication.GetAuthCookie( UserId.Text, false );
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(
cookie.Value );
// Store roles inside the Forms cookie.
FormsAuthenticationTicket newticket = new FormsAuthenticationTicket(
ticket.Version,
ticket.Name,
ticket.IssueDate,
ticket.Expiration,
ticket.IsPersistent,
userData,
ticket.CookiePath );
cookie.Value = FormsAuthentication.Encrypt(newticket);
Response.Cookies.Set(cookie);
Response.Redirect( FormsAuthentication.GetRedirectUrl( newticket.Name,
newticket.IsPersistent ) );
In case you don't have any userData (some string data up to 1200 bytes
aprox) to store inside the ticket, you might use this
FormsAuthenticationTicket overload:
FormsAuthenticationTicket newticket2 = new FormsAuthenticationTicket(
ticket.Name, ticket.IsPersistent, ticket.Expiration.Subtract(
ticket.IssueDate ).Minutes );
Hope this help.
--
Hernan de Lahitte
Lagash Systems S.A.
http://weblogs.asp.net/hernandl
This posting is provided "AS IS" with no warranties, and confers no rights.