BIRT / WebSphere / Java 2 Security - PullRequest
       23

BIRT / WebSphere / Java 2 Security

1 голос
/ 01 июня 2009

Кому-нибудь удалось заставить BIRT работать под WebSphere с включенной Java 2 Security? Кажется, не имеет значения, что я положил в свой файл was.policy, я получаю огромное количество исключений безопасности при попытке создать отчет.

Работа с выключенной Java 2 Security работает отлично, но это не вариант для производственной среды.

В качестве примера: когда мое приложение запускается, я вижу следующее в моей трассировке стека

Permission:

  * : Access denied (java.util.PropertyPermission * read,write)

 org.eclipse.osgi.framework.internal.core.FrameworkProperties  in  {file:/hosting/configs/WebSphereD03/AppServer/installedApps/CD03-crxaiuci5002/DOCGEN.ear/docgen.war/WEB-INF/platform/plugins/org.eclipse.osgi_3.3.1.R33x_v20070828.jar}

Трассировка стека:

java.security.AccessControlException: доступ запрещен (java.util.PropertyPermission * чтение, запись)

Birt упакован в мой EAR-файл, поэтому, чтобы избавиться от этой конкретной проблемы, у меня есть следующая запись в моем файле was.policy

grant codeBase "file:${application}" {
permission java.util.PropertyPermission "*", "read,write";
* * 1016};

Кажется, это ничего не меняет, поэтому я попытался

grant codeBase "file:/hosting/configs/WebSphereD03/AppServer/installedApps/CD03-crxaiuci5002/DOCGEN.ear/docgen.war/WEB-INF/platform/plugins/org.eclipse.osgi_3.3.1.R33x_v20070828.jar" {
permission java.util.PropertyPermission "*", "read,write";
* *} Тысяча двадцать-одина; * * тысяча двадцать две

Все еще не повезло ...

У кого-нибудь есть указатели?

Спасибо

Dave

Ответы [ 3 ]

2 голосов
/ 02 июня 2009

Различают безопасность WebSphere (Java EE) и безопасность Java 2

Безопасность Java EE должна быть включена для производственных приложений (и администратора WebSphere тоже).

Java 2 Security на самом деле покупает очень мало и не так широко используется в земле WebSphere. Это может быть полезно, если очень важна изоляция внутри приложения, но в этом случае вы не решили проблему, просто включив Java 2 Security.

Включение Java 2 Security довольно болезненно по той причине, что вы указали, что получить полезный набор разрешений утомительно. полезный трюк: установите системное свойство:

 com.ibm.websphere.java2secman.norethrow

это приведет к сообщению обо всех ошибках permisions без сбоя приложения. Следовательно, вы знаете полный набор разрешений для предоставления.

0 голосов
/ 03 декабря 2010

Были ли в was.policy следующие строки для запуска BIRT в экземпляре WAS с включенной безопасностью java 2,

разрешение java.util.PropertyPermission "*", "чтение, запись"; разрешение java.security.AllPermission;

Спасибо за помощь

0 голосов
/ 01 октября 2010

Если кто-то снова столкнется с этой проблемой и по какой-либо причине не сможет отключить безопасность Java 2, у меня возникла точно такая же проблема, и я разместил на BIRT exchange форумах . Джейсон Уэтерсби нашел исправление:

Я подозреваю, что эта проблема связана с записью OSGi в каталог web-inf / platform / configuration. Можете ли вы зарегистрировать ошибку для этого? Вы можете попробовать изменить config.ini в web-inf / platform / configuration добавить запись как: osgi.configuration.area = c: / birtconfigarea и убедитесь, что этот каталог доступен для записи. Джейсон

EDIT:

Оказалось, что при тестировании этого исправления безопасность Java2 не была должным образом повторно включена, поэтому вышеприведенное не является исправлением. Однако я считаю, что нашел ужасное исправление:

Добавьте в файл config.ini следующее:

eclipse.security=null

Посмотрев в классе OSGILauncher (org.eclipse.birt.core), есть метод setupSecurityPolicy () (строка 700 v2.6.0), который ищет свойство eclipse.security. Если свойство имеет значение null, оно запускается и устанавливает некоторую OSGIPolicy, которая, кажется, является причиной проблемы.

ПРИМЕЧАНИЕ: Это нарушает развертывание в Tomcat, т. Е. С установленным свойством eclipse.security, платформа отчетов BIRT не запускается.

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