2012-02-08 58 views
0

我正在寫一個ASP.MVC應用程序,我知道你可以在cotrollers上使用授權過濾器來控制對頁面的訪問,但是我想知道如果你想控制對部分視圖中受保護數據的訪問,最好的方法是什麼。ASP.MVC權限:有沒有辦法控制部分內容?

從我讀的ASP.MVC不提供這個粒度級別。

通過向模型添加用戶權限作爲屬性,然後使用簡單的工廠來決定是應該渲染視圖還是返回空白視圖,這似乎很容易。

到目前爲止,我有

的RenderPartial(PartialFactory.IsAllowedToRender( 「partialName」,Model.Security),型號)

和工廠或者返回請求的視圖或空白局部視圖。

有沒有人嘗試在此之前或知道爲什麼沒有人做這個(除了額外的努力)

回答

0

我們與擴展方法的HtmlHelper同樣做。

RenderPartialIfExists等。如果您經常需要某些東西,請不要羞愧。

這樣做,沒有擴展,因爲你也有效,但它不是乾淨的閱讀。另外,考慮將您的安全信息添加到HttpContext.Current.Items,這樣您就不必一直將它傳遞到模型中,而需要利用它的任何東西,助手,控制器等都可以輕鬆訪問它,你只需要在請求開始時取回它。

+0

非常感謝,保持它的模型會更清潔 – user1197563 2012-02-09 06:27:24

相關問題