我期待創建一個安全修剪(基本上,如果你沒有權限不呈現)Html.RenderAction。如何實現安全修剪的Html.RenderAction?
目標是顯示各種小部件/頁面組件,並且如果該人沒有對RenderAction沒有調用的操作權限(或者至少不會導致重定向到登錄頁面)。例如,該頁面顯示給所有登錄用戶。然而,只有人力資源,業務發展的部分,如果你在人力資源和業務發展,你會得到兩個部分等。
RenderAction調用的每個部分是獨立的,所以這意味着我可以輕鬆地製作頁面包含所有必需部件,但如果用戶不被允許,則不顯示。如果我將RenderAction稱爲某人沒有權限的操作,則會導致他們被重定向到登錄頁面。
我已經看到類似的鏈接,但任何人都做了類似的行爲?
我希望能得到這樣的:
@Html.RenderSecurityTrimmedAction("Main","Business-Widget1")
@Html.RenderSecurityTrimmedAction("Main","HR-Widget")
@Html.RenderSecurityTrimmedAction("Main","General-Widget3")
當微件訪問是基於人的當前角色。我有安全訪問完美工作。它主要是創建一個RenderAction,如果用戶沒有任何操作,它不會一直運行Action
我想保留代碼DRY,所以我不想攜帶很多ViewModel屬性,然後不得不自動換行if語句中的每個Html.RenderAction。這些組件會出現在各種地方,所以我希望它們能夠即插即用。
對不起。我的意思是說他們可以被授權不具備適當的角色。應該已經被清除器 – GraemeMiller
然後擴展if()與另一個條件:helper.ViewContext.HttpContext.User.IsInRole(「barbarian」) – Dima
然後我必須在助手中定義角色。這些角色正在修改授權操作中的控制器操作,所以我不想再配置它們。只是意味着在兩個地方維護它們,所以不是乾的。謝謝 – GraemeMiller