2011-11-15 95 views
0

我知道這是很多關於角色和授權的文章,但我需要一些不同的東西,目前我找不到任何東西.. 我正在使用ASP.NET,C#和MySQL數據庫連接構建的Web應用程序。如何分配用戶角色並隱藏不在角色中的用戶,asp.net

因此,我需要的只是一個簡單的檢查某處(web.conf或Default.aspx.cs,我不知道)

if user "admin" (i.e inRole="admins") -> give permissions to everything 
if user normalUser1 (i.e inRole = "users) -> HIDE 2 buttons 

,使他們不能按他們。

的例子: 管理員可以通過點擊一個按鈕,上傳和刪除其訪問數據庫的背後 用戶無法點擊上傳或刪除,也許隱藏按鈕,它自

如果您有任何意見。

回答

2

有是一個內置的控制在asp.net允許這個功能。

檢查出<asp:LoginView>控制。這允許您顯示/隱藏某些控件,具體取決於用戶是否已通過身份驗證,還取決於您指定的角色。

看看下面的這些鏈接。他們描述如何使用它。

http://msdn.microsoft.com/en-us/library/ms178329.aspx#the_loginview_control

http://weblogs.asp.net/sukumarraju/archive/2010/07/28/role-based-authorization-using-loginview-control.aspx

在將用戶分配到的角色,您可以使用內置的ASP.NET配置工具Visual Studio中,也可以創建自己的代碼/ UI來管理這一點。

+0

太棒了..第二個正是我在找的東西。 謝謝老兄:) – Pepys

+0

不客氣:) –

+0

嘿蒂姆只是一個問題.. 它的工作很好,但只有一個按鈕裏面。當我嘗試在LoginView中添加FileUpload控件和上傳按鈕本身時,它找不到FileUpload的名稱..它的相當一段 我應該考慮對這些按鈕使用一個更多的LoginView嗎? – Pepys

2

最簡單的想法是把2個管理員按鈕分開Panel和隱藏在服務器端:

adminFunctionalityPanel.Visible = User.IsInRole("Admins"); 

或者只是隱藏按鈕本身:

btnDelete.Visible = btnUpload.Visible = User.IsInRole("Admins"); 

http://www.asp.net/security/tutorials/role-based-authorization-cs

+0

第二個選項對我來說更容易......如果是那麼簡單 - 我祝福你:) 我應該在aspx.cs頁面中添加這個嗎? – Pepys

相關問題