0

非adssys 用户可以运行系统程序吗?

我正在为 Advantage 开发一个可以使用的 BizTalk WCF 适配器,我需要浏览和解析元数据。这是 Visual Studio 的插件,支持 .Net 2.0 或更高版本,可生成架构和绑定文件 (wsdl)。它还可以生成可在 WCF 服务中使用的类。

我们的数据库有 1000 多个表、50 个视图和 50 个过程。我们希望将对象分配给用户 ID,然后只返回属于该用户的对象。

谢谢,

霍华德

4

2 回答 2

1

是的,非 adssys 用户可以运行系统过程并使用 select 从系统表中检索信息。Advantage 使用基于权限和用户/角色的系统来确定用户对数据库中对象的访问权限。用户的权限将决定过程是否可以成功执行或从系统表中返回多少信息。

链接提供有关 Advantage 数据字典中权限系统的全面信息。

对于表和视图,要查看表或视图的名称,用户必须至少对表和视图具有 SELECT 权限。要修改表的约束和索引等表属性,用户必须对表具有 ALTER 权限。对于对表没有 ALTER 权限的用户,那些约束对象和索引对象对他们是隐藏的。

对于存储过程,用户必须对该过程具有 EXECUTE 权限才能查看过程的名称。

管理权限的首选方法是将用户分配给组(角色),并授予组权限。属于某个组的用户将继承该组的权限。

于 2010-07-15T16:19:24.393 回答
0

从概念上讲,您可能希望查看从描述性表中存储/检索元数据,然后使用该结果返回您的对象。使用按 SQL 子句过滤的功能,您可以为所有用户提供单一访问点。获得对象数据后,您可以使用更高级别的许可“用户”返回对象,而无需实际授予单个用户访问权限。只是一个想法。

于 2010-07-16T13:55:01.687 回答