Как создать систему входа в систему на основе базы данных

Я хочу создать веб-сайт, на котором система входа должна обрабатываться не cookie-файлами, а на (а) таблицах в локальной (на сервере) базе данных SQL.

Есть ли способ сделать это? Даже без частичного пути?

Что и где я должен сохранить вместо печенья???

5 ответов

Решение

ASP.NET по умолчанию использует сессионные куки для отслеживания пользовательских запросов. Если вы используете сеансы Cookie, вы обнаружите, что идентификатор сессии добавляется во все запросы браузера. Во многих случаях это также может быть неприемлемым.

Даже если вы решите использовать базу данных и проверять наличие флага "LoggedIn" при каждом запросе, вам все равно потребуется какой-то способ идентифицировать входящий запрос как принадлежащий определенному пользователю. Это может быть в виде зашифрованных значений в скрытых полях, в зависимости от вашего сценария безопасности. Тем не менее, это не намного лучший метод, чем использование куки, потому что любые данные, которые приходят от клиента, могут быть подделаны.

Лично я считаю, что Cookies отлично подходят для отслеживания пользовательских запросов, если вы правильно их шифруете.

Вам все еще нужен какой-то способ отличить пользователей. Если вы не используете куки, вам придется передавать эту информацию в URL или разрешить только одному пользователю с одного IP-адреса (это действительно глупо) ... или что-то еще. Печенье не так уж и плохо:-).

Вы можете хранить свои имена пользователей и т. Д. В базе данных, но вам все равно понадобится способ распознать пользователя при переходе от страницы к странице. Это роль куки в этом, чтобы сохранить этот маркер входа...

Можно реализовать некоторые другие способы обработки этого токена. Можно использовать URL-адрес или некоторые скрытые поля (например, ViewState в ASP.NET) для хранения этого токена.

Так да; это может быть сделано. Но это требует некоторой работы, так как вы не можете использовать то, что ASP.NET уже предоставляет вам. (ASP.NET имеет встроенные функции для обработки этого токена в виде файла cookie, а также для сохранения учетных данных в базе данных.)

ASP.NET без файлов cookie

Если вам нужна помощь в реализации системы входа в систему, вам нужно будет включить больше подробностей о вашей конкретной проблеме.

Используйте SqlMembershipProvider.

Другие вопросы по тегам