【问题标题】:Navision 2009 R2: nav users, roles and sql application rolesNavision 2009 R2:导航用户、角色和 sql 应用程序角色
【发布时间】:2013-07-05 11:33:12
【问题描述】:

我看到 Navision 使用 SQL 应用程序角色来管理用户在其表中选择、插入、删除数据的权限。

我看到对于每个 navision 用户,都存在一个同名的 SQL 数据库用户。

nav 角色和 sql 应用程序角色之间的关系不是直接的。似乎有许多 SQL 应用程序角色,因为不同的导航角色集应用于所有导航用户。

无论如何,我想它存储了每个用户必须使用的 SQL 应用程序角色的某个地方。你知道这个信息存储在哪里吗? SQL 应用程序角色名称是一个小评论家......它们有什么意义吗?

【问题讨论】:

    标签: dynamics-nav navision


    【解决方案1】:

    “增强”是一种奇怪的机制。正如它提到的here,它有一个应用程序角色的“激活机制”,几乎没有文档(即使是在管理级别)。

    据我了解,这是它的使用方式:您启用增强级别并在 Nav 中管理用户及其角色,之后您开发(或使用)通过 SQL Server 使用 Nav 数据的第三方应用程序直接(当然失去所有业务逻辑)。在这种情况下,您可以在导航和应用程序中使用相同的用户凭据,并对数据具有相同的访问级别(以及相同的限制)。但这并不意味着您可以在 Navision 之外管理权限。此外,由于提到的“激活机制”,管理安全性的唯一地方是经典客户端。

    在标准安全应用程序的情况下,用户将拥有 SQL 管理的权限集,并且导航用户将受到导航角色的限制。成为幸福。

    【讨论】:

    • 好吧,仍然不知道如何确定给定导航用户具有哪个 SQL 应用程序角色,但该链接是我迄今为止找到的有关该主题的更详细信息。
    【解决方案2】:

    如果您使用的是数据库登录,则会根据存储在数据库中的登录验证登录。 Windows 登录由域管理,并在登录期间在 Active Directory 中进行验证。在这两种情况下,单独的表插入/更新/重命名/删除权限都在 NAV 中的 NAV“角色”(工具 > 安全 > 角色)下设置。

    经典客户端

    如果用户需要访问经典客户端,可以在 SQL 中使用组或用户来赋予数据读取、数据写入 SQL 角色。

    角色定制的客户

    NAV 2009 R2 采用三层架构,因此如果您使用 RTC,则应确保您的服务层帐户有权访问 SQL 数据库,但除此之外,个人用户的权限由 Classic 管理客户端(工具 > 安全)。

    【讨论】:

    • 感谢您的回答。但我怀疑 Navision 如何在数据库级别执行安全性(使用增强安全模型)。我看到 NAV 创建了“SQLServer 应用程序角色”,但我不知道 Nav 如何将 NAV 用户与 SQLServer 应用程序角色联系起来。
    • 您在更改 NAV 后是否同步了安全性?使用增强型模型需要一点时间才能完成。
    猜你喜欢
    • 1970-01-01
    • 2019-03-16
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2017-12-30
    • 1970-01-01
    相关资源
    最近更新 更多