Я расскажу о своей альтернативе. Я загрузил свою собственную библиотеку аутентификации, и я думаю, что это достаточно просто, чтобы публично выпустить ... Так что я и сделал. Он разработан, чтобы держаться подальше от вашего пути и в целом, это довольно минималистично. Я не предоставляю много элементов управления пользователя, но на большинстве веб-сайтов я видел, что встроенные пользовательские элементы управления никогда не используются.Поэтому вместо того, чтобы пытаться сделать еще более гибкие пользовательские элементы управления, я решил вместо этого сделать мозг простым, чтобы создать свои собственные элементы управления входами и т. Д.
Проект называется Fast, Secure и Concise Authentication, или FSCAuth для краткости. Это лицензия BSD. Вы можете загрузить его по адресу Binpress или по телефону Bitbucket
Это гибкая модель «UserStore» (эквивалент поставщика услуг) позволяет вам создавать свою базу данных в любом случае. Он может поддерживать текстовые текстовые файлы, XML, MongoDB, Sql Server и где угодно между ними.
Вот список вещей, где я думаю, что это особенно выделяется над формами проверки подлинности:
- Stateless системы аутентификации. Нет необходимости отслеживать пользовательские сеансы в базе данных или в памяти. Это делает тривиальным масштабирование до нескольких серверов, требующих незначительных (если есть) изменений кода аутентификации.
- Используйте что-нибудь как уникальный идентификатор для каждого пользователя. Правильно, не больше GUID! Все, что будет вписываться в строку, - это честная игра.
- Исходная HTTP-аутентификация. Вы можете включить базовую проверку подлинности только на желаемых страницах (или на глобальном уровне), и вы можете делать те же вызовы, как если бы они использовали типичные файлы cookie аутентификация
- Трудно сделать небезопасным. Из-за того, как это работает, и я оставляю как можно меньше основного кода для конечного пользователя для фактической проверки подлинности, он чрезвычайно безопасен и останется таким, если вы просто не попытаетесь его сломать. Я обрабатываю файлы cookie, HTTP Basic Auth и все хэширование. Вы просто даете FSCAuth базу данных для ее ввода.
- Поддержка хэшей BCrypt для триггеров. How to do it.. В Forms Authentication это almost not possible
- мне нравится :)
Конечно, это также не хватает, и, чтобы быть справедливым, я буду включать несколько вещей, которые отсутствуют
- Идентификация статических файлов в IIS 6 пока не представляется возможным (0)
- Не существует защиты от грубой силы (пока). Это означает, что вам нужно убедиться, что один и тот же человек не пытается попасть на страницу входа 200 раз за 2 секунды.
- Он не встроен в ASP.Net
- Нет ОС Windows или проверка подлинности паспорта (без планов когда-либо добавить)
При создании нового пользователя он также будет генерировать новый идентификатор для него, не так ли? Нехорошо, если пользователь уже ссылается на другие таблицы. – XOR
Нет, но довольно легко исправить в вашем методе «изменение» имени пользователя. – JoshJordan