我需要開發基於Web的產品。用戶可以根據基本版本/高級版本/企業版本等訂閱類別使用此功能。我想維護這些訂閱類別的單一來源。asp.net - 使用基於配置啓用的功能開發Web應用程序
這裏我的問題是,
如何設計Web應用程序,它具有使能的功能基礎上配置/訂閱類別?
在此先感謝
我需要開發基於Web的產品。用戶可以根據基本版本/高級版本/企業版本等訂閱類別使用此功能。我想維護這些訂閱類別的單一來源。asp.net - 使用基於配置啓用的功能開發Web應用程序
這裏我的問題是,
如何設計Web應用程序,它具有使能的功能基礎上配置/訂閱類別?
在此先感謝
這是非常普遍的問題,我會一般回答。
您可以將角色分配給您的註冊用戶,然後使用IsUserInRole
至 查看您將要顯示的內容以及不顯示的內容。
爲了獲得速度,你可以將權限分配給用戶會話,而不是隨時撥打IsUserInRole
您可以打開和關閉使用Panel
和可見的是你的頁面的某些部分。同時關閉隱藏的面板的視圖狀態。
另一種方法是,您可以使用UserControls
,在其中檢查用戶是否有權查看它,並將其隱藏在OnInit中,並禁用它的ViewState。
當然,如果整個頁面不被允許,你總是可以做一個完整的重定向。
因此整頁可以有和UserControls
,它的視圖取決於用戶級別。
你將無法得到這個現成的,你必須根據你所使用的技術設計應用程序。
我有類似的項目正在進行中,我們在數據庫中存儲功能列表,並在頁面初始化時加載會話中的功能列表。
在各種頁面上,我們基於功能可用性顯示/隱藏控件。
Offcourse單一功能也可以根據用戶角色分類,我們可以使用FormAuthentication方法檢查並相應地更改頁面服務器端。
讓我知道你是否有任何具體的做法,並有問題相關。
謝謝... 我也想着你提到的相同的方法... 但我的約束是,我在這個系統上有幾個核心頁面。所以,我必須將這些產品的大部分功能 只包含在這些頁面上。 如果我在單頁上加載了更多的控件,並根據DB上的配置啓用/禁用, 會影響此頁面的性能以及如何處理這個問題?因爲我的用戶大多隻在這些核心頁面上工作。 – 2012-04-25 12:18:36
offcourse在一個頁面上加載所有數據並根據角色/功能啓用/禁用是不好的做法,儘管我們也這樣做了。因爲頁面包含的是從服務器端渲染的,所以你可以確保你不應該處理你不會渲染的數據,因此它不會降低性能。 – 2012-04-25 12:33:42
謝謝... 如果我在單頁上加載了更多的控件,並根據數據庫的配置啓用/禁用, 會影響此頁面的性能以及如何處理這個問題?因爲我的用戶大多隻在這些核心頁面上工作。 – 2012-04-25 12:20:49
@ er.g.ilango我不知道它的真實影響性能,這是你需要檢查和避免一些想法,或使用其他方式加載或不加載。關於這個問題的想法不是啓用它,但我告訴你這是非常普遍的問題。你需要做一些測試,有多少控件?你將如何呈現它們,他們做了什麼......這就是你設計它的方式。性能方面的問題在於如何從數據庫獲取數據,如何處理會話以及如何呈現網頁。 – Aristos 2012-04-25 20:11:08