我知道很多关于角色和授权的文章,但我需要一些不同的东西,到目前为止我找不到任何东西。 我正在开发一个用ASP.NET构建的Web应用程序,C#后面和一个连接的MySQL数据库。
所以我需要的只是一个简单的检查(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
所以他们无法点击它们。
示例: 管理员可以单击上传和删除按钮来访问后面的数据库 用户无法单击上传或删除,也可能隐藏自己的按钮
如果您有任何想法。
答案 0 :(得分: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
答案 1 :(得分:2)
asp.net内置了一个内置控件,可以实现此功能。
查看<asp:LoginView>
控件。这允许您显示/隐藏某些控件,具体取决于用户是否经过身份验证,还取决于您指定的角色。
请看下面的这些链接。他们描述了如何使用它。
http://msdn.microsoft.com/en-us/library/ms178329.aspx#the_loginview_control
在将用户分配给角色时,您可以使用Visual Studio中内置的ASP.NET配置工具,也可以创建自己的代码/ UI来管理它。