【问题标题】:Is there a way in C# that i can give administrative rights to only methods that need it? [duplicate]在 C# 中是否有一种方法可以只为需要它的方法授予管理权限? [复制]
【发布时间】:2013-04-13 19:27:33
【问题描述】:

是否可以在执行程序的特定部分/sn-ps 时授予管理权限?
我知道我们可以使用清单文件来为我们的整个应用程序提供管理员权限,但我不喜欢这样,因为假设我的 70% ~ 80% 的应用程序服务不需要管理员权限,或者我的最终用户并不喜欢每次运行应用程序时都要面对 UAC 提示。
有没有办法实现这样的目标?

【问题讨论】:

  • 感谢这就是我所追求的 ;)
  • 我认为这是服务的用途之一。
  • 这不是重复的,因为问题询问如何“授予”代码权限,而另一个问题询问如何“要求”它。它们有不同的解决方案。

标签: c# .net


【解决方案1】:

执行代码的权限由进程令牌控制,进程令牌是进程范围的对象。因此,如果您的进程具有提升的权限,则在该进程中执行的所有代码都具有提升的权限。

结论是,为了让您的应用程序的不同部分拥有不同的权限,您需要拥有多个进程。

应用程序执行此操作是非常常见和标准的。应用程序可以从单独的权限开始。当用户希望执行需要提升权限的操作时,程序会调用单独的可执行文件来执行该任务。这对用户来说确实更好,因为他们只需要面对 UAC 对话框来执行实际需要提升的操作。

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 2021-11-04
    • 2022-01-01
    • 1970-01-01
    • 2016-03-23
    • 2015-10-11
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多