我看到 Navision 使用 SQL 应用程序角色来管理用户在其表中选择、插入、删除数据的权限。
我看到对于每个 navision 用户,都存在一个同名的 SQL 数据库用户。
导航角色和 sql 应用程序角色之间的关系不是直接的。似乎有与应用于所有导航用户的不同导航角色集一样多的 SQL 应用程序角色。
无论如何,我想在某个地方存储了每个用户必须使用的 SQL 应用程序角色。你知道这个信息存储在哪里吗?SQL 应用程序角色名称是一个 litlle criptic... 它们有什么意义吗?
我看到 Navision 使用 SQL 应用程序角色来管理用户在其表中选择、插入、删除数据的权限。
我看到对于每个 navision 用户,都存在一个同名的 SQL 数据库用户。
导航角色和 sql 应用程序角色之间的关系不是直接的。似乎有与应用于所有导航用户的不同导航角色集一样多的 SQL 应用程序角色。
无论如何,我想在某个地方存储了每个用户必须使用的 SQL 应用程序角色。你知道这个信息存储在哪里吗?SQL 应用程序角色名称是一个 litlle criptic... 它们有什么意义吗?
那么“增强”是一种奇怪的机制。正如这里提到的,它有一个应用程序角色的“激活机制”,几乎没有文档(即使是在管理级别)。
据我了解,这是它的使用方式:您启用增强级别并在 Nav 中管理用户及其角色,之后您开发(或使用)直接通过 SQL Server 使用 Nav 数据的第三方应用程序(失去当然是所有业务逻辑)。在这种情况下,您可以在导航和应用程序中使用相同的用户凭据,并对数据具有相同的访问级别(以及相同的限制)。但这并不意味着您可以在 Navision 之外管理权限。此外,由于提到的“激活机制”,管理安全性的唯一地方是经典客户端。
在标准安全应用程序的情况下,用户将拥有 SQL 管理的权限集,并且导航用户将受到导航角色的限制。并成为幸福。
如果您使用的是数据库登录,则将根据存储在数据库中的登录验证登录。Windows 登录由域管理,并在登录期间在 Active Directory 中进行验证。在这两种情况下,单独的表插入/更新/重命名/删除权限都在 NAV 的“角色”下设置(工具 > 安全 > 角色)。
经典客户端
如果用户需要访问经典客户端,可以在 SQL 中使用组或用户来赋予数据读取、数据写入 SQL 角色。
角色定制的客户
NAV 2009 R2 采用三层架构,因此如果您使用 RTC,则应确保您的服务层帐户有权访问 SQL 数据库,但除此之外,个别用户的权限是从经典客户端(工具> 安全)。