2012-04-05 4 views
1

После поиска в сети, это мой «последнее средство» ;-)JasperServer по умолчанию Разрешения роли

У меня есть JaserServer установить с пользователями, которые отображаются на ROLE_USER. Проблема в том, что эти пользователи могут делать всевозможные вещи.

Мои настройки: Virtualbox Windows XP SP3 с JasperServer 4,1 установленным на нем.

Они должны иметь возможность делать все, что вы можете сделать, если вы вошли в систему как пользователь admin, и вы щелкните правой кнопкой мыши по папке и выберите «Добавить ресурс».

Я не могу найти страницу, где вы можете изменить права доступа к папке по умолчанию для определенных ролей. Я уже смотрел папку WEB-INF, но не мог разобрать, что менять и что оставить в покое ...

Любая помощь приветствуется!

Спасибо всем!

+0

У вас есть Community Edition? –

+0

Вы проверили разрешение для папки (вам нужно добавить ресурсы)? –

+0

Да У меня есть Community Edition. Я действительно не понимаю, что вы имеете в виду: «Вы проверили разрешение на папку». Вы имеете в виду папку, которую вы создали в JasperServer или в папке WEB-INF на ОС? –

ответ

3

Вы хотите отредактировать файл WEB-INF/actionModel-search.xml. Каждый пункт меню представлен тегом <option />, и они завернуты в теги <condition>, чтобы определить, можете ли вы их видеть. Если атрибутом теста тега условия является checkAuthenticationRoles, то значение атрибута testArgs будет определять, какие роли могут видеть эти параметры. Если вы хотите больше одной роли, разделите их запятыми.

+0

Да , это то, что я ищу, большое спасибо вам! –

3

Вот решение. Не стесняйтесь использовать его ;-)

Проблема

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

Решение

Решение один были файлы XML JasperServer должны быть изменены/изменены. Я уже был в процессе очистки всех файлов XML, но найти правильный оказался сложным. XML-файл, который нужно изменить, находится в папке WEB-INF каталога установки JasperServer. На моей машине он был один:

C:\Program Files\jasperreports-server-cp-4.5.0-2\apache-tomcat\webapps\jasperserver\WEB-INF 

файл вам нужно это один: actionModel-search.xml

ПРЕДУПРЕЖДЕНИЕ: не забудьте сначала сделать резервную копию исходного файла. Вы не хотите начинать все заново, если все пройдет долго!

Объяснение

Первые вещи сначала установите JasperServer. Я тестировал это только на версии сообщества JasperServer. Поэтому я предполагаю, что если это будет работать на версии сообщества, оно также будет работать с поддерживаемой версией. После установки перейдите на главную страницу JasperReports и вход со следующими учетными данными:

URL: http://localhost:8080/jasperserver 
User: jasperadmin 
Password: jasperadmin 

Обратите внимание, что это только испытательная установка на виртуальной машине. Если вы намереваетесь сделать это на производственном сервере, измените пароль пользователя jasperadmin по соображениям безопасности.

Как только вы вошли в систему и создадите нового пользователя. 1. Нажмите «Управление» 2. Нажмите «Пользователи» 3. Нажмите «Добавить пользователя» a. Дайте имя пользователя b. Дайте пароль 4. Нажмите «Добавить пользователя»

Теперь, когда пользователь создан, вы можете перейти к новой роли. Для этого выполните следующие действия:

  1. Нажмите на «Управление»
  2. Нажмите на кнопку «Роли»
  3. Нажмите на «Добавить роль»
  4. Заполните Role Name
  5. Нажмите на кнопку «Добавить Роль "

Запишите имя созданной роли, потому что это та роль, которую мы собираемся использовать для« взлома »XML для наших нужд.

Чтобы добавить пользователей к роли выполните следующие действия:

  1. Нажмите на роль, которую вы только что создали
  2. Нажмите на кнопку «Редактировать»
  3. Выберите пользователей, которые нуждаются в новой роли.
  4. Нажмите «Сохранить».

Следующее, что вам нужно сделать, это предоставить роль read + write + delete permissions в папке.

  1. правой кнопкой мыши на папке
  2. Нажмите на «Разрешения»
  3. Выберите Чтение + запись + удалить рядом с той ролью, которую необходимо этот доступ

Теперь вы все сделали и готовы чтобы «взломать» свой путь в XML-файл.

Откройте файл actionModel-search.xml. Не забудьте взять сперва копию файла!

В начале xml-файла найдите строку кода, которая выглядит так, как показано ниже.

<condition test="checkAuthenticationRoles" testArgs="ROLE_USER,ROLE_ADMINISTRATOR"> 

Это первая строка, которую нужно изменить. Добавьте свою роль в раздел testArgs. Убедитесь, что все роли разделены запятой.

<condition test="checkAuthenticationRoles"> testArgs="ROLE_USER,ROLE_ADMINISTRATOR**,USER_RESOURCES**"> 

На следующей строке условий производится одинаковое изменение. Сохраните файл. Чтобы изменения вступили в силу, вам необходимо перезапустить JasperServer. В системах Windows Вы можете перейти к

  • Остановка: Все программы => JasperReports сервер ... => Запуск или остановка Услуги => Stop Service
  • Для начала: Все программы => JasperReports сервер ... => Start Или Остановить Услуги => Начальная служба

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

Если вы хотите, вы можете немного поиграть с XML-файлом для дальнейшего изменения поведения. Например: у вас есть клиент, которому запрещено добавлять изображения сообщений яшмы. В этом случае вы можете изменить XML следующим образом.

Место проверяемое условие вокруг этого кода:

<option labelKey="resourceTypes.image" action="invokeCreate" actionArgs="[email protected]@img" className="up"/> 

Чтобы выглядеть этот код:

<condition test=checkAuthenticationRoles” testArgs=”ROLE_ADMINISTRATOR”> 
<option labelKey="resourceTypes.image" action="invokeCreate" actionArgs="[email protected]@img" className="up"/></condition> 

Таким образом, только администратор может добавлять изображения в папку. Voila, вы все готовы пойти и поиграть с копией сервера JasperReports.

Удачи!

Смежные вопросы