2011-11-15 98 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

相关问题