2012-01-29 76 views
0

我想知道什麼是落後於會員餅乾的想法,一個方法被稱爲:ASP.Net會員Cookie?

Membership.GetUser(); 

此方法返回的所有用戶的信息,這種方法不訪問數據庫,但訪問存儲在cookie中我的電腦,我想知道這個cookie是如何存儲的,我如何訪問這個cookie並操作它。

這裏是我的問題:

我有我想整合到我的網站的論壇,論壇的用戶會員資格,而我的網站不,我的網站使用一個簡單的用戶名密碼錶。我已經修改了與會員登錄有關的一些程序,並且仍然當我進入論壇時,它以管理員身份登錄我,因爲我在更改數據庫中的任何內容之前使用它,我找到了所有我找到的Cookie是6個餅乾,沒有子項,但是當上面的方法被調用時,它會獲得所有的信息。我想知道他們從哪裏得到。

編輯: 我錯了,它不訪問數據庫,我現在的問題我可以覆蓋在成員中的getUser方法並指定另一個程序,它

+0

的成員提供有操作部件完整的API相同的應用程序池共享會話單獨的應用程序。你爲什麼要操縱cookie? (即幫助我們解決問題,而不是您最初嘗試解決問題的方法。請參閱* [XY問題](http://www.perlmonks.org/?node_id=542341)*。) – Richard 2012-01-29 09:54:01

+0

請參閱下面的更新。 – 2012-01-29 10:09:28

回答

0

錯誤。 Membership.GetUser()實際上訪問數據庫。它從會員表中提取數據。這些數據不會存儲在cookie中。存儲在cookie中的唯一東西是用戶的用戶名和身份驗證票據。

編輯:

根據您的更新,您需要實現一個自定義的成員提供與您的身份驗證工作。如果論壇用戶會員,那麼你沒有其他選擇,否則你將不得不重寫論壇。

看來你很困惑,因爲你的數據庫中沒有成員表。這很可能是因爲成員資格連接字符串指向的數據庫不同於您用於數據的數據庫。這通常會自動生成並存儲在項目文件夾中的App_Data文件夾下。

編輯2:

根據您的額外編輯,是的。你想做什麼,就可以做什麼。但是你需要實現一個自定義的Membership提供程序。

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

+0

你完全正確,你能回答我的問題嗎?謝謝。 – 2012-01-29 10:08:02

+0

另外:一個定製的會員提供商可能(大部分)是一個現有的薄包裝。您不需要一個完全綠色的字段實現來在一個地方添加一個小邏輯(提供您確保更改不會與您剛剛重用的方法的操作不一致)。 – Richard 2012-01-29 12:04:12