Любые учебные пособия по созданию системы входа MVC3 без поставщиков членства ASP.Net по умолчанию? - PullRequest
3 голосов
/ 05 августа 2011

Я ищу учебное пособие или небольшое вводное руководство по созданию системы входа в систему для ASP.Net MVC3 без использования поставщика членства ASP.Net по умолчанию.

Я создал новый проект MVC3 с шаблоном Интернет-приложения, и вот содержимое _LogOnPartial.cshtml:

@if(Request.IsAuthenticated) {
    <text>Welcome <strong>@User.Identity.Name</strong>!
    [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else {
    @:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}

Является ли @User.Identity.Name частью провайдера членства? Я хотел бы прочитать больше о членстве в ASP.Net MVC3, поскольку у меня уже есть база данных с учетными данными пользователя, мне не нужна упакованная база данных.

Спасибо!

1 Ответ

4 голосов
/ 05 августа 2011

На самом деле довольно легко реализовать пользовательский код аутентификации в ASP.NET MVC.

В методе LogOn вашего контроллера вам необходимо вызвать провайдера FormsAuthentication после аутентификации учетных данных пользователя.

public ActionResult LogOn(LogOnModel model)
{
   //Handle custom authorization then call the FormsAuthentication provider

   FormsAuthentication.SetAuthCookie(/*user name*/, true);

   //Return view
}

После этого вызова метода будет заполнено User.Identity.Name, и вы можете использовать AuthorizeAttribute на своих контроллерах или методах контроллера.

В LogOffметод вашего контроллера вы будете вызывать поставщика FormsAuthentication снова

public ActionResult LogOff()
{
   FormsAuthentication.SignOut();

   //Return view
}
...