我在一个基于 .NET 的项目上工作,该项目具有我们只希望管理员可以使用的某些功能。控制对这些功能的访问的方法使用PrincipalPermissionAttribute进行修饰,如下所示:
[PrincipalPermission(SecurityAction.Demand, Role=@"BUILTIN\Administrators")]
public static void RunAdminFeature()
{
// code here
}
我们的许多用户都是其系统上的本地管理员,但我们发现他们仍然必须右键单击应用程序图标并选择“以管理员身份运行”选项才能使用这些功能。
从这里的问题和答案来看,这似乎是 Windows 7 上的预期行为。如果是这样,那么看起来像这里描述的修改应用程序快捷方式可能是预期的解决方案。如果是这样的话,那就这样吧。
我的问题有两个。
- 我是否以编程方式做正确的事情?属性方法是否正确?
- 是否有一种编程方式来实现对某些功能的受限访问,这些功能也允许本地管理员运行应用程序而不需要他们明确地“以管理员身份运行”?