код доступа к безопасности - PullRequest
0 голосов
/ 25 апреля 2010

Зачем мне требовать разрешения? Почему он не может просто потерпеть неудачу (комментируя вызов .Demand ())?

ref: http://support.microsoft.com/kb/315529 Спасибо!

try 
{
// Demand the permission to access the C:\Temp folder.
permFileIO.Demand();
resultText.Append("The demand for permission to access the C:\\Temp folder succeeded.\n\n");
}

- изменить 1 -

Я где-то читал, что CAS уходит, потому что это очень сложно настроить. Это правильно?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

Если вы хотите потерпеть неудачу до того, как доберетесь до вызова, для которого требуется разрешение, вы также можете декларативно декорировать вызывающий метод, который завершится неудачей еще до вызова метода. Это также делает код намного чище и проще в отладке.

[FileIOPermission(SecurityAction.Demand, Write=@"C:\Temp ")]
public void MyTempFunction(){....
1 голос
/ 25 апреля 2010

Тебе не нужен спрос.

Если вы удалите его и у вас есть ограничения безопасности, он просто выдаст исключение безопасности.

Преимущество требования заключается в том, что среда выполнения может определить точные права, необходимые для вашего приложения (например, для него требуется FileIOPermission для определенного каталога), а затем позволить пользователю / администратору настроить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...