В системе членства ASP.NET весь смысл в том, что вам не нужно создавать экземпляр класса провайдера или чего-то еще - тот, который вы определили, доступен сразу в статическом экземпляре Membership
.
Так что в вашем случае просто убедитесь, что конфигурация верна, и затем сделайте что-то вроде:
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
Membership
будет необходимым классом, который вы определили - просто вызовите статические методы для него и покончите с этим! : -)
Обновление: Похоже, вы должны иметь возможность легко создать несколько провайдеров членства следующим образом:
if (e.UserName.IndexOf("@contoso.com") >= 0)
{
e.Authenticated = Membership.Providers["ContosoSqlProvider"].ValidateUser(e.UserName, e.Password);
}
else if (e.UserName.IndexOf("@fabrikam.com") >= 0)
{
e.Authenticated = Membership.Providers["FabrikamSqlProvider"].ValidateUser(e.UserName, e.Password);
}
else
{
e.Authenticated = Membership.Provider.ValidateUser(e.UserName, e.Password);
}
Таким образом, вы можете получить определенного поставщика членства, обратившись к нему через Membership.Providers["FabrikamSqlProvider"]
, а затем вызвать методы, например .ValidateUser()
.
Базовый Membership.ValidateUser
будет просто использовать провайдера членства, который вы определили по умолчанию - но он не остановит вас от использования других!