Каким быстрым способом я могу добавить простую аутентификацию для нескольких маршрутов ASP.NET MVC, не реализуя весь джаз поставщика членства?

2

Я создал демонстрационный сайт для моего босса, и одно из требований - мне нужно добавить некоторую простую аутентификацию в его 3 просмотра/маршруты администратора.

Каков самый простой и быстрый способ, которым я могу это сделать без внедрения целого поставщика членства? Я, честно говоря, даже не забочусь, если пользователь/пропуск жестко закодирован на стороне сервера, мне просто нужно, чтобы они не могли получить доступ к этим 3-м представлениям, не получив какой-либо аутентификации.

Теги:
asp.net-mvc

2 ответа

4
Лучший ответ

Я бы пошел по этому маршруту.

Добавьте это в свой web.config(можно опустить SHA1 и использовать простой текстовый пароль, если хотите):

<authentication mode="Forms">
  <forms loginUrl="~/admin" timeout="2880">
      <credentials passwordFormat="SHA1">
        <user name="admin" password="4f3fc98f8d95160377022c5011d781b9188c7d46"/>
      </credentials>
  </forms>
</authentication>

Создайте простой вид для имени пользователя и пароля и в методе действий, который получает имя пользователя и пароль, идите с этим...

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(string username, string password)
{
    if (FormsAuthentication.Authenticate(username, password))
    {
        FormsAuthentication.SetAuthCookie(username, false);
        return RedirectToAction("Index", "Home");
    }
    else
    {
        ViewData["LastLoginFailed"] = true;
        return View();
    }
}

FormsAuthentication.Authenticate() автоматически проверяет имя пользователя и пароль на учетные данные node, которые мы создали ранее. Если он соответствует, он создает ваш файл cookie с именем "Запомнить меня" false и перенаправляет вас на индексный указатель вашего домашнего контроллера. Если он не соответствует, он возвращается на страницу входа с ViewData [ "LastLoginFailed" ], установленным в true, чтобы вы могли справиться с этим в своем представлении.

PS - Теперь, когда у вас есть простой способ авторизации, не забудьте поставить фильтр [Авторизовать] на действия или контроллеры, которые вы хотите защитить.

1

проще всего выбрать меню [проект], а затем [Конфигурация ASP.NET] в Visual Studio.

Он установит для вас членство db. затем добавьте пару ролей и пользователей в диспетчере конфигурации, который появляется.

что это! Затем просто украсьте свои действия/контроллеры с помощью [Авторизовать] и проверьте некоторые права на основе имени пользователя. <= жесткий код для демонстрации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню