Надеюсь, я смогу добавить некоторую дополнительную ясность к другим ответам, так как они действительно не объясняют, что происходит, и это не поможет вам запутаться.
Прежде всего, внедрите своего собственного провайдера, который, исходя из того, что вы уже сделали, поэтому я просто добавлю небольшой фрагмент кода и не буду вдаваться в подробности:
using System.Web.Security;
public class MyCustomMembershipProvider : MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
if (username.Equals("BenAlabaster") && password.Equals("Elephant"))
return true;
return false;
}
/* Override all the other methods required to extend MembershipProvider */
}
Затем вы настраиваете своего провайдера в своем файле web.config, не забывая заполнять атрибуты, которые настраивают базового MembershipProvider:
<membership defaultProvider="MyCustomMembershipProvider">
<providers>
<clear />
<add name="MyCustomMembershipProvider"
type="MyNamespace.MyCustomMembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="10"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/" />
</providers>
</membership>
Следующий бит, который, я думаю, вы обдумываете, фактическая привязка к вашему веб-приложению. Принимая во внимание, что в приложении WebForms вы, в некотором роде, должны кодировать остальное для себя - инфраструктура MVC сделает все остальное за вас - все, что вам нужно сделать, это добавить атрибут [Authorize] к вашему методу действия, и среда проверит, чтобы убедиться, что вы Вы вошли в систему, и если не перенаправить вас на страницу входа. Страница входа найдет вашего собственного провайдера, потому что это то, что настроено в web.config, и войдет в систему вашего пользователя. Вы можете получить доступ к информации о зарегистрированном пользователе из ваших контроллеров, ссылаясь на объект Пользователь :
public class WhateverController : Controller
{
[Authorize]
public ActionResult WhateverAction()
{
ViewData["LoggedInAs"] = string.Format("You are logged in as {0}.", User.Identity.Name);
Return View();
}
}
Таким образом, для выполнения этого действия требуется, чтобы пользователь вошел в систему и представил информацию о пользователе в представлении Wh what / WhwhatAction.aspx, которое будет отображаться на странице.