如何控制程序中功能的权限?

How to control rights for features in my program?

我希望能够在我的程序中直接控制,其他用户能做什么,不能做什么。我有一个 ActiveDirectory,其中用户保存在 4 个不同的右组中:"User"(启动程序的基本功能)、"Sales"、"Accounting" 和 "Management"(管理)。该程序检查用户拥有哪些权限。所以现在我必须更改代码并发布一个新版本,如果我想更改权限,例如 "Accounting"。但在不久的将来,我希望能够在我的程序中转到一个特殊的 window 以获取类似 "RightsManagement" 的东西,并更改哪个组可以使用哪个功能。这些 "RightSettings" 应该保存在一个全局文件中,该文件将从我们公司的每个用户加载。这是理论......我想知道是否有完美的方法来做到这一点,我想得到许多不同的方法来解决这个问题,所以我可以选择最适合我的方法。像只读 Xml 文件之类的东西? 它可以是放置在网络驱动器中的 xml 文件,因此程序可以从公司中的每台电脑访问该文件。该文件对用户来说应该是只读的,这样他们就不能更改该文件中的设置。当然,通过代码和 "special window" 管理员可以设置这些设置,从而覆盖文件。

感谢您的帮助!

没有完美的方法。您可以在共享中使用一个文件;数据库; AD 本身,Web 服务等。各有优缺点。

您需要问自己一组问题:

  • 您是否有可用于此目的的数据库服务器,或者您是否可以轻松且廉价地设置一个?您对 SQL 了解多少?
  • 您对 AD 有什么样的访问权限,您是否愿意编写管理应用程序来操作它?
  • 您是否有合适的文件共享,除管理员外,每个人都只有读取权限,而管理员有写入权限?

等等,具体取决于您考虑的解​​决方案。只有您可以提出完整的问题并回答它们,从而得出最适合您的结论。