我不太确定如何解决这个问题,如果有任何想法,我将不胜感激。 我有大约 20 个自定义 c# 应用程序分布在我们大约 100 台加入域的 PC 的 Windows 网络中。其中一个应用程序是为所有其他应用程序的所有单独功能设置和获取权限的应用程序,权限数据存储在 MSSQL 数据库中。
一旦 c# 应用程序通过了我们的权限应用程序,我希望 c# 应用程序能够以同一用户的身份访问目录和 SQL 函数等网络资源,这样我就不必管理目录或表的权限和来来往往的多个用户的存储过程。该部分已在许可应用程序中完成,将是多余的。
我在想,我会查看在服务器上运行的服务,该服务将模拟用户,而 c# 客户端服务将向服务器服务发出请求。如果没有服务器服务,我会考虑将所有客户端服务设置为模拟同一用户。
我还在球场上吗?
最佳答案
要解决这个问题,您需要做两件事:
- 设置 Service Account (Active Directory 中一种特殊类型的无人值守帐户)具有正确的权限。
- 确保您的 C# 服务 are set up to run as this service account user .
请记住,这纯粹是为了无人值守的服务。如果您希望 Windows 窗体应用程序模拟服务帐户,您将不得不在应用程序本身(例如,在连接字符串中)中包含用户名/密码,或者您将不得不包含它在可执行快捷方式链接中。
在任何一种情况下,它对最终用户都是可见的(当然除非您在连接字符串的情况下对其进行加密)。但坚定的最终用户将能够解密它。
关于c# - 如何在许多模拟单个 AD 用户帐户的网络 PC 上创建 C# 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197053/