凯德...我不相信您能够在 Windows 中为“应用程序”赋予角色...
我认为他的意思是您将角色分配给用户,然后让应用程序使用该用户帐户。
所以你的意思是,如果我有一个“MYDOMAIN/nick”的用户 ID......那么在 AD 中你会将 MYDOMAIN/nick 分配给一个与使用同一个应用程序的其他人一起的组,然后在 SQL Server 中你会将该组添加到安全性并为其分配角色?
正确的。
我担心的是,如果我使用 MYDOMAIN/nick 登录我的机器......这会将我的整个机器激活为对 sql server 的“信任”(通过 windows 验证)......所以这意味着我可以启动 Visual Studio 并开始构建任何我想要的应用程序并可能直接连接到数据库并做任何我想做的事情......这也意味着我可以下载/安装的任何其他应用程序都可能访问该数据库......对吗?
对,那是正确的。因为您(MYDOMAIN/nick)受到信任。SQL Server 不知道您在 PC 上运行什么。
然而回到你原来的问题,你正在谈论的程序不应该连接到 MYDOMAIN/nick,它应该连接到用户名 MYDOMAIN/mycustomprogram。这是仅用于该程序的用户帐户。您可以从您的 PC 上运行该程序,但在这种情况下,它仍将使用用户名 MYDOMAIN/mycustomprogram,而不是 MYDOMAIN/nick。
然后,您可以在您的 PC 上安装第二个程序,该程序应使用第二个用户名对 SQL 服务器进行身份验证,例如 MYDOMAIN/mycustomprogram2
因此,在同一台 PC 上,您将拥有:
- MYDOMAIN/昵称 (AD)
- MYDOMAIN/mycustomprogram(SQL 或 AD 用户)
- MYDOMAIN/mycustomprogram2(SQL 或 AD 用户)
在应用程序级别使用这些自定义用户名会覆盖 AD 身份验证。
这也意味着如果您对两个程序之一有问题,或者程序锁定了用户帐户等,则很容易诊断。
我了解到 SAP 客户端会加密其连接信息并将其存储在注册表中。
你说的是连接的哪一部分?我不知道有任何东西以这种方式存储。
这能回答你的问题吗?
请投票给有用的答案;-)