Я пойду дальше и перечислю свою альтернативу здесь. Я свернул свою собственную библиотеку аутентификации, и я думаю, что это достаточно здорово, чтобы быть публично выпущенным ... Так я и сделал. Он создан, чтобы не мешать вам, и в целом он довольно минималистичен. Я не предоставляю много готовых пользовательских элементов управления, но на большинстве веб-сайтов, которые я видел, эти встроенные пользовательские элементы управления никогда не используются. Таким образом, вместо того, чтобы пытаться сделать еще более гибкие пользовательские элементы управления, я решил вместо этого сделать простой и понятным создание собственных элементов управления для входа и тому подобного.
Проект называется Быстрая, Безопасная и Краткая Аутентификация, или сокращенно FSCAuth. Это BSD лицензируется. Вы можете скачать его на Binpress или на Bitbucket
Это гибкая модель «UserStore» (эквивалент поставщика по форме) позволяет вам формировать базу данных в любом месте. Он может поддерживать простые текстовые файлы, XML, MongoDB , Sql Server и любые промежуточные.
Вот список вещей, которые, на мой взгляд, особенно превосходят проверку подлинности с помощью форм:
- Система аутентификации без сохранения состояния. Нет необходимости отслеживать пользовательские сеансы в базе данных или в памяти. Это упрощает масштабирование до нескольких серверов, требующих нескольких (если таковые имеются) изменений в вашем коде аутентификации
- Использовать что-либо в качестве уникального идентификатора для каждого пользователя. Это верно, больше нет GUID! Все, что поместится в строку, является честной игрой
- Запущена базовая HTTP-аутентификация. Вы можете включить базовую аутентификацию только на страницах, которые вы хотите (или глобально), и вы можете делать те же вызовы, как если бы они использовали типичную аутентификацию на основе файлов cookie
- Трудно сделать небезопасным. Из-за того, как это работает, и я оставляю как можно меньше кода ядра конечному пользователю для выполнения аутентификации, он чрезвычайно безопасен и останется таким, если вы просто не попытаетесь его сломать. Я обрабатываю куки, HTTP Basic Auth и все хеширование. Вы просто предоставляете FSCAuth базу данных, чтобы вставить ее.
- BCrypt поддержка хэшей тривиальна. Как это сделать. . В Аутентификации по формам это почти невозможно
- Мне это нравится :)
Конечно, этого тоже не хватает, и, если честно, я добавлю несколько вещей, которых не хватает
- Аутентификация статических файлов в IIS 6 невозможна (пока)
- Предотвращение грубой силы (пока) отсутствует. Это означает, что вам нужно убедиться, что один и тот же человек не пытается зайти на вашу страницу входа 200 раз за 2 секунды.
- Он не встроен в ASP.Net
- Нет аутентификации Windows или Passport (без планов добавления)