Как сказал Мантрорк, лучше всего переопределить
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
На этом этапе Membership.GetUser () будет пустым, однако пользователь еще не завершил аутентификацию. Вместо этого вам нужно вытащить имя пользователя из вашего контроля входа в систему;
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
bool Authenticated = false;
Authenticated = Membership.ValidateUser(Login1.UserName, Login1.Password) &&
if (Authenticated)
{
MembershipUser user = Membership.GetUser(Login1.UserName);
Guid i = (Guid)user.ProviderUserKey; //CurrentUser is null
if (UsefulStaticMethods.CheckIfUserISbanned(i))
{
Server.Transfer("~/Banned.aspx");
}
}
e.Authenticated = Authenticated;
}
(Код с макушки головы, поэтому не пробежал VS)