Как создать систему входа в систему на основе базы данных - PullRequest
0 голосов
/ 24 июня 2009

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

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

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

Ответы [ 5 ]

3 голосов
/ 24 июня 2009

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

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

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

2 голосов
/ 24 июня 2009

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

1 голос
/ 24 июня 2009

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

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

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

1 голос
/ 24 июня 2009

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

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

0 голосов
/ 24 июня 2009

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

...