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

C# 如何控制程序中功能的权限?,c#,xml,winforms,controls,rights-management,C#,Xml,Winforms,Controls,Rights Management,我希望能够在我的程序中直接控制其他用户可以做什么或不能做什么。我有一个ActiveDirectory,其中用户保存在4个不同的权限组中:“用户”(启动程序的基本功能)、“销售”、“会计”和“管理”(管理)。程序检查用户拥有哪些权限。因此,如果我想更改权限,例如“会计”,我现在必须更改代码并发布新版本。但在不久的将来,我希望能够进入我的程序中的一个特殊窗口,进行类似“RightsManagement”的操作,并更改哪个组可以使用哪个功能。这些“RightSettings”应保存在一个全局文件中,该

我希望能够在我的程序中直接控制其他用户可以做什么或不能做什么。我有一个ActiveDirectory,其中用户保存在4个不同的权限组中:“用户”(启动程序的基本功能)、“销售”、“会计”和“管理”(管理)。程序检查用户拥有哪些权限。因此,如果我想更改权限,例如“会计”,我现在必须更改代码并发布新版本。但在不久的将来,我希望能够进入我的程序中的一个特殊窗口,进行类似“RightsManagement”的操作,并更改哪个组可以使用哪个功能。这些“RightSettings”应保存在一个全局文件中,该文件将从我们公司的每个用户处加载。这是理论…我想知道是否有一个完美的方法来做这件事,我想得到许多不同的方法来解决这个问题,这样我可以选择最好的。类似于只读Xml文件的东西? 它可以是一个xml文件,放在网络驱动器中,这样程序就可以从公司的每台电脑上访问该文件。该文件对于用户来说应该是只读的,这样他们就不能更改该文件中的设置。当然,管理员可以通过代码和“特殊窗口”设置这些设置,从而覆盖文件

谢谢你的帮助

没有完美的方法。您可以在共享上使用文件;数据库;广告本身、网络服务等,各有优缺点

你需要问自己一系列问题:

  • 您是否有一个数据库服务器可以用于此目的,或者您可以轻松且便宜地设置一个数据库服务器?您对SQL的了解程度如何
  • 你对广告有什么样的访问权限?你对编写一个管理应用程序来处理它有多满意
  • 您是否有一个合适的文件共享,每个人(仅保存管理员)都有读取权限,哪些管理员有写入权限

等等,这取决于你考虑的解决方案。只有您才能提出完整的问题并回答,从而得出最适合您的结论。

“应保存在全局文件中”和“只读Xml文件”似乎有点矛盾!为什么呢?它可以是一个xml文件,放在网络驱动器中,这样程序就可以从公司的每台电脑上访问该文件。该文件对于用户来说应该是只读的,这样他们就不能更改该文件中的设置。当然,通过代码和“特殊窗口”管理员可以设置这些设置,从而覆盖文件。缺少段落会对你造成10点伤害!这就是为什么我在这里问,我想得到一些例子,有人如何能够实现这一点,这就是你给我的,非常感谢!)