Ограничение доступа к файлам в Java

Проблема:
В моем приложении Java (не апплете) я хочу ограничить определенные файловые операции всеми классами, кроме списка / группы / пакета классов, которые не должны быть ограничены.

В частности, я хотел бы ограничить ...

  • Считывание файла
  • Запись файла
  • Создание файла
  • Удаление файла

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

Попытка SecurityManager:
Я попытался реализовать подкласс класса SecurityManager, который реализует это поведение, однако кажется, что при выполнении проверок предоставленная информация о файле не дает ничего, кроме имени файла (если я чего-то не упускаю?).

Кроме того, я не совсем понимаю, как в этом случае Я мог узнать класс, из которого выполняется вызов, чтобы я мог определить, разрешить ли операцию или вызвать исключение. Могу ли я получить всю информацию, необходимую для работы этого подхода?

Попытка на основе политик:
Я также знаю, что политики Java предназначены для ограничения действий классов, включая такие вещи, как файл операции. Однако я действительно изо всех сил пытался найти хороший ресурс, чтобы узнать, как я могу решить свои проблемы с помощью файла .policy .

Резюме вопроса:

1) Есть ли какие-либо альтернативные подходы, которые могут быть предпочтительнее тех, что я упомянул?

2) Возможно ли это с помощью SecurityManager? Я не понимаю, как мне на самом деле следует реализовать такой подход?

3) Возможно ли это с помощью файла политики? Есть ли какие-то хорошие ресурсы, которые я упустил на этом фронте?

Я действительно не осведомлен о том объеме тяжелой работы, который мне нужно вложить для достижения этого - я просто не уверен, как мне следует подходить к этому должным образом. Мне также очень не хватает хороших ресурсов, чтобы научить меня в достаточной степени двум возможным подходам, которые я упомянул, чтобы я мог реализовать их самостоятельно. Прежде всего, я не боюсь подробного чтения там, где это необходимо!

Заранее благодарим за любую помощь, которую вы можете оказать. Вот мой код, который отлично работает в другом приложении. (Я создаю строку поиска в коде, потому что файл xib невозможен.) SearchBar = ...

Я обнаружил самую странную ошибку отображения в моем UISearchBar .
Вот мой код, который отлично работает в другом приложении. (Я создаю строку поиска в коде, потому что файл xib невозможен.)

searchBar = [[UISearchBar alloc] initWithFrame:
    CGRectMake(0, 0, self.tableView.frame.size.width, 44)];
searchBar.delegate = self;
searchController = [[UISearchDisplayController alloc] 
                   initWithSearchBar:searchBar contentsController:self];
searchController.delegate = self;
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;
self.tableView.tableHeaderView = searchBar;

Функции поиска и т. Д. Работают нормально. Но, как ни странно, панель поиска выглядит так, как на устройстве, так и в симуляторе:

UISearchBar with display bug

  • Строка-заполнитель должна быть не там, а чуть правее.
  • Когда я ввожу поисковый текст, он также начинается слишком далеко влево, сквозь него виден значок увеличительного стекла.
  • Кроме того, установка searchBar.placeholder или searchBar.prompt на @ "" или nil не удаляет этот "Поиск" заполнитель. (Однако
    searchBar.placeholder = @ "FooBar";
    отобразит «FooBar», но все еще в неправильном положении.
  • Наконец, мне кажется странным, что строка - «Search» хотя я установил другой язык (скажем, немецкий).

Есть помощь? Самая важная проблема - переместить текст вправо.

5
задан Vadim Kotov 1 November 2017 в 09:02
поделиться