代码之家  ›  专栏  ›  技术社区  ›  Josh

ASP。Net安全性使用基于操作的安全性

  •  9
  • Josh  · 技术社区  · 16 年前

    我过去在ASP中使用过的所有安全工具。Net在很大程度上是基于角色的。这很容易实现和ASP。Net是为这种类型的安全模型而设计的。然而,我正在寻找比简单的基于角色的安全性更细粒度的东西。

    基本上,我希望能够编写如下代码:

    if(SecurityService.CanPerformOperation("SomeUpdateOperation")){
        // perform some update logic here
    }
    

    我还需要这样的行级安全访问:

    if(SecurityService.CanPerformOperation("SomeViewOperation", SomeEntityIdentifier)){
       // Allow user to see specific data
    }
    

    再次强调,细粒度的访问控制。像这样的东西已经建成了吗?一些框架,我可以进入ASP。Net并开始使用,还是我必须自己构建这个?

    2 回复  |  直到 16 年前
        1
  •  1
  •   squig    16 年前

    你看过授权经理(AzMan)吗? http://msdn.microsoft.com/en-us/library/bb897401.aspx

    它包含在Server2003中,在Server2008中进行了一些更新,并附带了一个MMC管理工具。

    您可以使用server 2003版本将数据存储在xml文件或AD/ADAM分区中,在server 2008中,他们添加了SQL支持。

    此工具允许您将安全对象链接在角色、任务和;操作。

    您可以将其用作Asp中基于角色的提供程序。net,但它们也包括。net类,以便您可以直接访问授权存储内容。

        2
  •  0
  •   Mgetz    16 年前

    MSDN .以下是一个例子:

    [PrincipalPermissionAttribute(SecurityAction.Demand, Role="admins")]
    public class foo
    {
        [PrincipalPermissionAttribute(SecurityAction.Demand, Role="Domain Admins")]
        public void bar()
        {
          ....
        }
    }
    
    推荐文章