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

Jos*_*osh 9 asp.net security

我在ASP.Net过去曾与之合作的所有安全资料都是以角色为基础的.这很容易实现,ASP.Net适用于这种类型的安全模型.但是,我正在寻找比简单的基于角色的安全性更细粒度的东西.

基本上我希望能够编写这样的代码:

if(SecurityService.CanPerformOperation("SomeUpdateOperation")){
    // perform some update logic here
}
Run Code Online (Sandbox Code Playgroud)

我还需要行级安全访问,如下所示:

if(SecurityService.CanPerformOperation("SomeViewOperation", SomeEntityIdentifier)){
   // Allow user to see specific data
}
Run Code Online (Sandbox Code Playgroud)

再次,细粒度的访问控制.有没有这样的东西已经建成?我可以放入ASP.Net并开始使用的一些框架,或者我将不得不自己构建这个框架?

squ*_*uig 1

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

它包含在 Server 2003 中,并在 Server 2008 中进行了一些更新,并附带了 MMC 管理工具。

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

该工具可让您以角色、任务和操作的层次结构将安全对象链接在一起。

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