I belive the following call: FormsAuthentication.RedirectFromLoginPage(txtUserId.Text,false,"/");
Is resetting the cookie after you ahve set it. You might want to use some other means to redirect them to the page you want. HTH, Matt -----Original Message----- From: PrashanthG To: [EMAIL PROTECTED] Sent: 4/23/02 7:09 AM Subject: [DOTNET] Problem in Forms Based Authentication Hi, I have a small problem in Form based authentication. I have custom roles defined in the database. I get the roles from DB and then store in the Cookie as shown in the code below for assigning it later to the current context user. private void Submit_Click(object sender, System.EventArgs e) { StringBuilder strRoles= new StringBuilder(); // Get roles from UserRoles table, and add to cookie RoleDB oRole = new RoleDB(); // GetRoles First Authenticates and then get roles. I have removed all the error handling code for ease. SqlDataReader roles = oRole.GetRoles(txtUserId.Text,txtPwd.Text); while(roles.Read()) { strRoles.Append(roles.GetString(0)+";"); } HttpCookie authCookie = new HttpCookie("Portal"); FormsAuthenticationTicket authTkt ; string strMyRoles =strRoles.ToString(); authTkt = new FormsAuthenticationTicket(1, txtUserId.Text, DateTime.Now, DateTime.Now.AddMinutes(20), false, strMyRoles); authCookie.Value = FormsAuthentication.Encrypt(authTkt); Response.Cookies.Add(authCookie); FormsAuthentication.RedirectFromLoginPage(txtUserId.Text,false,"/"); } But when I try to access the userData part (strMyRoles) in the cookie after decrypting the FormsAuthentication Ticket, it shows it as null. All the other information like Name, Settime, Expiration time etc are available except for this . Snippet of the code where I am accessing the roles and assigning it to the current context // Get roles from roles cookie HttpCookie oRoleCookie = Context.Request.Cookies["Portal"]; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(oRoleCookie.Value); //convert the string representation of the role data into a string array ArrayList userRoles = new ArrayList(); foreach (String role in ticket.Name.Split( new char[] {';'} )) { userRoles.Add(role); } String[] roles = (String[]) userRoles.ToArray(typeof(String)); // Add our own custom principal to the request containing the roles in the auth ticket Context.User = new GenericPrincipal(Context.User.Identity, roles); Can somebody help me in resolving this problem. Thanks PrashanthG You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.