2013-04-10 37 views
0

我有相同的行爲幾個ASP.NET頁面:顯示網頁內容基於用戶的訪問權限

  1. 每個頁面都有自己的內容(如表格和表格)
  2. 每一個網頁鏈接到2 web用戶控制文件顯示菜單框
  3. Page_Init上,檢查用戶是否有權查看內容。如果他們無法訪問,該頁面將顯示一條消息,並且不會顯示剩餘內容。菜單框架仍將顯示。

我在ASP.NET中很新,所以我只能想到在基於訪問權限的內容中可見<div>標籤。我想知道是否有其他方法可以解決這個問題。我使用VB代碼背後。請建議...

回答

1

你可以用切片的PlaceHolder並簡單地將其關閉,例如:

<asp:PlaceHolder ID="AuthUserStuff" runat="server"> 
    <div> 
     ... 
    </div> 
</asp:PlaceHolder> 

在你的代碼隱藏,你可以簡單地這樣做:

AuthUserStuff.Visible = User.IsAuthenticated; 

PlaceHolder有額外的好處,如果隱藏,內容將不會呈現給客戶端。

+0

太棒了,謝謝。 – user1817209 2013-04-15 06:03:08

0

使用您控制可視性的div標記是不好的,這意味着用戶可以只做一個「查看源代碼」,並且所有內容都將在那裏。

而不是將內容添加到您使用的任何控件(或使用控制@Lloyd描述)或redirect him到自定義403頁面(無訪問權限)。