Я создал демонстрационный сайт для моего босса, и одно из требований - мне нужно добавить некоторую простую аутентификацию в его 3 просмотра/маршруты администратора.
Каков самый простой и быстрый способ, которым я могу это сделать без внедрения целого поставщика членства? Я, честно говоря, даже не забочусь, если пользователь/пропуск жестко закодирован на стороне сервера, мне просто нужно, чтобы они не могли получить доступ к этим 3-м представлениям, не получив какой-либо аутентификации.
Я бы пошел по этому маршруту.
Добавьте это в свой 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 - Теперь, когда у вас есть простой способ авторизации, не забудьте поставить фильтр [Авторизовать] на действия или контроллеры, которые вы хотите защитить.
проще всего выбрать меню [проект], а затем [Конфигурация ASP.NET] в Visual Studio.
Он установит для вас членство db. затем добавьте пару ролей и пользователей в диспетчере конфигурации, который появляется.
что это! Затем просто украсьте свои действия/контроллеры с помощью [Авторизовать] и проверьте некоторые права на основе имени пользователя. <= жесткий код для демонстрации