Asp.net
如何根據使用者的角色創建具有不同顯示的視圖?
我想根據使用者的角色創建一個具有不同顯示的視圖。
我應該為不同的角色創建不同的視圖,還是應該在 Veiw 頁面本身而不是在操作中檢查角色?
如何在查看頁面上查看角色?
或者我應該使用檢查 Veiw 頁面上的角色而不是動作,如果可以的話,有人可以告訴我如何在查看頁面上檢查
你需要兩者都做。檢查操作中的角色作為安全措施並檢查視圖中的角色以啟用/禁用特定控制項。
在您的視圖頁面中,檢查角色的長形式是
HttpContext.Current.User.IsInRole("Administrator")許多開發人員將創建頁面幫助方法,以便您最終為您的應用程序提供更簡潔的東西,例如
public static bool IsAdmin(this ViewUserControl pg) { return pg.Page.User.IsInRole("Administrator") }那麼在您看來,您可以只使用this.IsAdmin()
為了使您的視圖保持混亂,請考慮使用部分視圖
<% if (IsAdmin()) { Html.RenderPartial("AdminPanel"); } else { Html.RenderPartial("UserPanel"); } %>