Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 独立于数据库的行级安全解决方案_C#_Java_Security_Authorization_Row Level Security - Fatal编程技术网

C# 独立于数据库的行级安全解决方案

C# 独立于数据库的行级安全解决方案,c#,java,security,authorization,row-level-security,C#,Java,Security,Authorization,Row Level Security,有人知道Java/C#独立于数据库的授权库吗。该库应支持跨公司组织结构的读、写、删除和插入操作 类似这样的内容: -用户可以查看所有文档 -用户可以输入分配给其单位的新文档 -用户可以更改分配给其所在单位和所有下属单位的所有文档。 -用户可以删除分配给他的文档 我还应该能够创建自定义操作(除了读、写等操作),将它们连接到特定类,并将“安全令牌”分配给用户(例如document.expire)。 如果没有任何免费或商业图书馆,是否有一本书可以用于实现此功能 谢谢。我找到了一个功能与我的需求类似的库

有人知道Java/C#独立于数据库的授权库吗。该库应支持跨公司组织结构的读、写、删除和插入操作

类似这样的内容:
-用户可以查看所有文档
-用户可以输入分配给其单位的新文档
-用户可以更改分配给其所在单位和所有下属单位的所有文档。
-用户可以删除分配给他的文档

我还应该能够创建自定义操作(除了读、写等操作),将它们连接到特定类,并将“安全令牌”分配给用户(例如document.expire)。 如果没有任何免费或商业图书馆,是否有一本书可以用于实现此功能


谢谢。

我找到了一个功能与我的需求类似的库:

奇怪的是,web上没有更多的应用程序,因为这是每个严肃的应用程序都面临的问题。至于文档/示例,我发现最好的是CRM系统的授权模块,如:
-Siebel-Siebel安全指南-第10章访问控制
-糖CRM-
-Microsoft CRM-


这是我需要的一种功能。我想这将是DIY任务

在客户端库中实现安全解决方案的问题在于,它仅在客户端工具中有效。这听起来很无聊,但你留下了巨大的安全漏洞,那就是数据库本身。因此,如果用户直接连接到数据库(例如,使用Access ADP访问SQL Server),则他们可以完全控制其用户角色。如果您在客户端库中执行限制,则他们需要完全访问数据库中的所有内容

唯一一种情况是web应用程序和web服务不会有这么大的问题。如果您的web服务实现了安全性,并将其隐藏在web服务接口后面(因此无法直接访问数据库),那么它将是安全的。这可能就是你所说的,但在你的问题中没有具体说明


如果您使用的是胖客户机,有没有理由不想将安全逻辑放在数据库端?您提到了独立于数据库,但您指定的任何内容都不难在每个平台中提供。基本上,您描述的是检查用户是否有权编辑记录的前/后触发器。完整的RLS还将限制用户的查看权限,并根据平台的不同使事情变得稍微困难。

我也对缺乏安全框架感到惊讶

有。阿耶恩德有一个朋友

另一个博客上也有很多

也可以将其与一起使用


不能说我已经在一个项目中实现了它,只是读了一会儿。这是我能找到的唯一一个类似的实现。

AFCA是一本很好的读物,并且有一些好的想法。另一本非常好的读物是微软的白皮书——使用SQLServer2005()在分类数据库中实现行和单元级别的安全性。这是一个好主意,熟悉两者,然后抽象出一个DIY子系统,它符合你自己的需要,而不需要你不需要的东西。CuppM,谢谢你的回答。以下是我的评论:1。我正在开发web应用程序。此外,当我在胖客户机应用程序上工作时,我使用服务器端进程进行db交互。所以,我从不让用户直接访问数据库。2.至于数据库独立性,我的整个应用程序都是数据库独立的。所以,我不会因为安全问题而打断它。Axiomatics数据访问过滤器实现了行级安全性(过滤)和单元级安全性(屏蔽)。它是与数据库无关的,这意味着它可以通过在前面引入代理来为各种数据库工作。