Access denied при изменении / удалении Dashboard

Started by raven1891, April 04, 2019, 10:43:36 AM

Previous topic - Next topic

raven1891

Доброго времени суток.
С netxms вот только начал работать, так что возможно решение проблемы будет очевидно опытным пользователям =)
При попытке удалить или изменить созданный ранее dashboard, возникает ошибка Access denied (если создать пустой dashboard, то он нормально удаляется). В системе всего один пользователь -  дефолтный админ. Все это крутится на debian сервере, webgui на нем же через tomcat8.

Посмотрел логи netxmsd там все забито вот этим. Не уверен имеет ли оно отношение к проблеме.
2019.04.04 10:22:40.262 *E* SQL query failed (Query = "INSERT INTO object_properties (name,status,is_deleted,inherit_access_rights,last_modified,status_calc_alg,status_prop_alg,status_fixed_val,status_shift,status_translation,status_single_threshold,status_thresholds,comments,is_system,location_type,latitude,longitude,location_accuracy,location_timestamp,guid,image,submap_id,country,city,street_address,postcode,maint_event_id,state_before_maint,object_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE name=VALUES(name),status=VALUES(status),is_deleted=VALUES(is_deleted),inherit_access_rights=VALUES(inherit_access_rights),last_modified=VALUES(last_modified),status_calc_alg=VALUES(status_calc_alg),status_prop_alg=VALUES(status_prop_alg),status_fixed_val=VALUES(status_fixed_val),status_shift=VALUES(status_shift),status_translation=VALUES(status_translation),status_single_threshold=VALUES(status_single_threshold),status_thresholds=VALUES(status_thresholds),comments=VALUES(comments),is_system=VALUES(is_system),location_type=VALUES(location_type),latitude=VALUES(latitude),longitude=VALUES(longitude),location_accuracy=VALUES(location_accuracy),location_timestamp=VALUES(location_timestamp),guid=VALUES(guid),image=VALUES(image),submap_id=VALUES(submap_id),country=VALUES(country),city=VALUES(city),street_address=VALUES(street_address),postcode=VALUES(postcode),maint_event_id=VALUES(maint_event_id),state_before_maint=VALUES(state_before_maint),object_id=VALUES(object_id)"): Incorrect string value: '\xD0\x9F\xD0\xBE\xD0\xB4...' for column 'name' at row 1

Заранее спасибо.

Victor Kirhenshtein

Ошибка скорее всего связана с кодировкой базы, проверьте что там UTF-8.

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

Еще попробуйте пользователя system - это встроенный суперпользователь. И проверьте права на объекты (в свойствах самих дашбордов и корневого объекта) - возможно снята опция наследования прав. Пользователь admin - это просто пользователь которому назначены права при инициализации, но их можно отобрать. У пользователя system права отобрать нельзя.


raven1891

Спасибо, помогло. БД действительно была не в UTF8. Конвертнул БД (ошибки в логах пропали, но удалять дашборды так и не смог), затем от имени пользователя system для корневого dashboard сделал restore defaults в контроле доступа и выдал все права для admin аккаунта (опция наследования прав на созданных ранее дашбордах была установлена). Все заработало.