我正在从事一个基于.NET的项目,其中有一些功能只想让管理员使用。控制访问这些功能的方法被装饰了PrincipalPermissionAttribute。
[PrincipalPermission(SecurityAction.Demand, Role=@"BUILTIN\Administrators")]
public static void RunAdminFeature()
{
// code here
}
我们的许多用户都是系统上的本地管理员,但我们发现他们仍然需要右键单击应用程序图标并选择“以管理员身份运行”选项,才能使用这些功能。
根据此处的问题和答案,似乎这是Windows 7上的预期行为。如果是这样,那么修改应用程序快捷方式如此处所述可能是预期的解决方案。如果是这样,那就这样吧。
我的问题有两个。
1.在编程方面我做得对吗?属性方法是正确的方法吗? 2.是否有编程手段可以实现对某些功能的限制访问,同时还允许本地管理员运行应用程序而不需要显式地“以管理员身份运行”?