2012-01-29 5 views
0

Я хочу знать, что идея печенья в членстве, метод называется:Cookies ASP.Net?

Membership.GetUser(); 

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

Вот моя проблема:

У меня есть форум, который я хочу, чтобы интегрировать на мой веб-сайт, форумчане членство в то время как мой сайт не мой сайт использовать простую таблицу имя пользователя пароль. Я изменил некоторые процедуры, связанные с Login Membership Login, и все еще, когда я вхожу на форум, он регистрирует меня как администратора, потому что я использовал его перед тем, как изменять что-либо в базе данных, я отслеживаю файлы cookie, которые я нашел, - это 6 файлов cookie без каких-либо подключений , но когда вызывается метод выше, он получает всю информацию. Я хочу знать, откуда они взялись.

Edit: Я неправильно это доступ к базе данных, теперь мой вопрос я могу переопределить метод GetUser в Членство и назначить другую процедуру для него.

+0

Поставщик членства имеет полный API для манипулирования членов. Почему вы хотите манипулировать файлом cookie? (То есть, помогите нам решить вашу проблему, а не вашу первоначальную попытку решения. См. * [Проблема XY] (http://www.perlmonks.org/?node_id=542341) *.) – Richard

+0

См. Обновление ниже. –

ответ

0

Неверный. Membership.GetUser() действительно получает доступ к базе данных. Он извлекает данные из таблиц членства. Эти данные НЕ хранятся в файле cookie. Единственное, что хранится в файле cookie, это имя пользователя пользователя и билет проверки подлинности.

Edit:

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

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

Edit2:

На основании вашего дополнительного редактирования, да. Ты можешь делать все, что захочешь. Но вам нужно реализовать собственный поставщик членства.

http://msdn.microsoft.com/en-us/library/ie/f1kyba5e.aspx

+0

Ты точно прав, можешь ответить на мой вопрос выше? Благодарю. –

+0

Также: пользовательский поставщик членства может быть (в основном) тонкой оболочкой вокруг существующей. Вам не нужна реализация полностью зеленого поля, чтобы добавить небольшую логику в одном месте (обеспечив, чтобы изменения не были несовместимы с действиями методов, которые вы просто повторно используете). – Richard

0

http://forums.asp.net/t/1647173.aspx

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

Смежные вопросы