3

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

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

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

谢谢。

4

3 回答 3

1

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

http://www.codeproject.com/KB/database/AFCAS.aspx

奇怪的是,网络上没有更多的它,因为这是每个严肃的应用程序都面临的问题。至于文档/示例,我发现最好的是 CRM 系统的授权模块,例如:
- Siebel - Siebel 安全指南 - 第 10 章访问控制
- Sugar CRM - http://www.sugarcrm.com/crm/products/capabilities/ Administration/access.html
- Microsoft CRM - http://msdn.microsoft.com/en-us/library/ms955698.aspx

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

于 2010-06-18T08:48:17.363 回答
1

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

唯一不会成为大问题的情况是 Web 应用程序和 Web 服务。如果您的 Web 服务提供安全性并将其隐藏在 Web 服务接口后面(因此无法直接访问数据库),那么它将是安全的。这可能是您在谈论的内容,但未在您的问题中指定。

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

于 2010-08-16T15:04:04.607 回答
1

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

犀牛安全。Ayende 有一些关于它的博客文章

另一个博客也有几篇文章

也可以将它与S#arp 架构一起使用。

不能说我已经在一个项目中实现了它,只是在不久前阅读它。这是我能找到的唯一实现。

于 2011-02-01T03:45:44.023 回答