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

StackOverflow https://stackoverflow.com/questions/1039359

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top