i had a similar problem when wanting to use web parts on a login page.
The problem is that when the user is on the login page, they are an anonymous user, as you do not know who they are until they log in.
You need to use the anonymous user authentication trick which is in the above link to make this work on the login page. This will create a cookie and then grab the details from the aspnet database which is created. this work fine, but when logging in you will need a different cookie.
Basically the 'members' area of the site will have to be set up as a virtual directory, you will need to create the cookie through the server side code on the login page passing it to the members page.
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1, login1.UserName, DateTime.Now, DateTime.Now.AddMinutes(30),true,
"");
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie authCookie = new HttpCookie("logincookie", encryptedTicket);
Response.Cookies.Add(authCookie);
Response.Redirect("/members/Home.aspx");
You will need to set up the web.config within the members directory to use this cookue.
Hope this is clear and helps.