ASP.NET如何动态拒绝对Role的访问

时间:2011-08-04 11:11:47

标签: c# asp.net security asp.net-membership roleprovider

我最近开始尝试在我的Web应用程序中使用ASP.NET 4成员资格和角色提供程序。但是我在实施一个好的安全方法时遇到了问题。

我理解使用web.config文件我们可以拒绝或拒绝访问某些aspx文件,但在某些情况下是否有任何良好的内置方法可以拒绝访问指定的角色?

例如;

我们有一个名为“EditUser.aspx”的页面。

我们有两种用户类型;管理员和标准用户。此页面用于编辑这两种类型。但是,只有管理员才能编辑其他管理员。

阻止没有“管理员”角色的经过身份验证的用户通过EditUser.aspx编辑管理员的最佳方法是什么?

我希望有一些比下面更优雅的东西:

if(editUser.IsInRole("admin") && !User.IsInRole("admin"))
{
    Respone.Redirect("SomeAccessDeniedPage.aspx");
}

谢谢,

菲尔

1 个答案:

答案 0 :(得分:0)

要考虑的一件事是将LoginView服务器控件与RoleGroups元素一起使用。也许将admin用户绑定在一个单独的gridview中,并将其包装在LoginView集中,仅显示给admin角色的用户。