Я хочу использовать декларативную безопасность, чтобы гарантировать, что мое приложение запускается только локальным администратором на машине. Например,
private void Window_Loaded(object sender, RoutedEventArgs e)
{
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
try
{
LoadUsers();
}
catch (System.Security.SecurityException)
{
MessageBox.Show("You must be a local administrator to run this application.");
System.Environment.Exit(1);
}
}
// You must be an admin to run this method...
[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
private void LoadUsers()
{
// etc.
}
Это все хорошо; однако было бы неплохо, если бы я мог отлаживать без предварительного запуска IDE с помощью «Запуск от имени администратора».
Вопрос : Есть ли способ обойти это в атрибуте объявления безопасности? Или я могу использовать другое требование безопасности? Спасибо!