2010-01-28 73 views
1

我正在使用asp.net 2.0。我一直在使用asp.net會員供應商進行用戶管理。但我認爲,如果我可以在不使用asp.net中提供的角色和成員資格提供者的情況下做到這一點,效率會更高。實際上,當我在asp.net網頁中添加登錄控件,創建用戶控件等時,會看到生成的龐大標記。在asp.net web應用程序中用戶管理的替代方法

通過說用戶管理,我指的是整體登錄,用戶活動跟蹤,密碼重置/檢索,在asp.net web應用程序中的角色管理。我想實現有效的方式來實現這一點。

任何建議,將不勝感激。

回答

0

大多數(所有?)會員控制支持模板,這意味着您可以自定義它們生成給客戶端的標記。

請參見本教程讓你開始:A Crash Course on ASP.NET Control Development: Template Properties

對於數據庫訪問,我不認爲這是一個巨大的問題,但如果你是擔心我會建議負載測試它,以確保。另外,如果您將CacheRolesInCookie設置爲true,則可以消除某些數據庫調用。

2

什麼究竟困擾你?服務器端代碼,還是獲取到客戶端的HTML?

如果是前者,那麼你可以實現自己的提供者或者從頭開始重新創建整個系統(我不建議這樣做,但在某些情況下它可能是值得的)。

如果是後者,請編寫自己的一套使用Membership API的控件。

就「效率」而言,您不清楚「效率」對您意味着什麼。

+0

Anton說什麼 - 你沒有具體定義什麼讓你感到困擾,或者它如何降低用戶對網站的體驗。 – Murph 2010-01-28 09:08:27

+0

我關心服務器端和html: 服務器端:每次我使用Membership類時,我將多次訪問會員數據庫[如果我是對的],例如通過用戶名獲取用戶,檢查用戶是否在角色管理中,然後執行一些自定義數據庫操作。這是不是強制執行至少三次數據庫訪問 - 兩次通過成員類和一次+時間來解決我自己的自定義數據庫操作編碼? 是的,你的建議使用我自己的控制登錄,創建使用等是值得歡迎的。謝謝! – sangam 2010-01-28 09:09:47

+0

還有兩件事: 1.用戶和角色的數據庫中有超過5個表 2.對於相同的 添加了許多存儲過程有時,爲成員資格和角色添加的數據庫對象遠遠超過數據庫中的其他表!這不是浪費數據庫存儲嗎?不過,我承認,這種特殊情況在數據庫數量較少且其他對象較爲優雅的情況下更爲優雅。 – sangam 2010-01-28 09:15:14

相關問題