Skip to content

Commit a68c7e2

Browse files
committed
fix initialization of roles and clients
1 parent 91832a5 commit a68c7e2

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

packages/helpermodules/mosquitto_dynsec/mosquitto_dynsec.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,17 @@ def create_user(ip_address: str):
121121

122122

123123
def check_roles_at_start():
124+
# check roles and users at startup and add missing ones if user management is active
125+
user_management_active = SubData.system_data["system"].data["security"]["user_management_active"]
126+
if user_management_active is not True:
127+
log.warning("Benutzerverwaltung ist deaktiviert.")
128+
return
129+
log.warning("Benutzerverwaltung ist aktiviert, überprüfe ACL-Rollen und System-Benutzer ...")
124130
display_reload_required = update_acls()
125131
flag_path = Path(_get_base_path() / "ramdisk" / "init_user_management")
126132
if flag_path.is_file():
127133
with open(flag_path, "r") as file:
128-
flag = file.readline() == "1"
134+
flag = file.readline().strip() == "1"
129135
if flag:
130136
for cp in SubData.cp_data.values():
131137
add_acl_role("chargepoint-<id>-access", cp.chargepoint.num)
@@ -153,6 +159,7 @@ def check_roles_at_start():
153159
check_required_users()
154160
# finally trigger a reload of a local display to ensure the new credentials are picked up
155161
if display_reload_required:
162+
log.warning("ACLs wurden aktualisiert, lokale Displays werden neu geladen, um die Änderungen zu übernehmen.")
156163
run_command([
157164
f"{_get_base_path()}/runs/update_local_display.sh", "1"
158165
], process_exception=True)

packages/main.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,11 +350,7 @@ def schedule_jobs():
350350
# Warten, damit subdata Zeit hat, alle Topics auf dem Broker zu empfangen.
351351
event_update_config_completed.wait(300)
352352
event_subdata_initialized.wait(300)
353-
# wenn die Benutzerverwaltung aktiviert ist, müssen die Rollen beim Start überprüft werden, damit die ACLs korrekt angewendet werden.
354-
if sub.system_data["system"].data["security"]["user_management_active"]:
355-
Thread(target=check_roles_at_start, args=(), name="check acl roles at start").start()
356-
else:
357-
log.debug("Benutzerverwaltung ist deaktiviert, ACL-Rollen werden nicht überprüft.")
353+
Thread(target=check_roles_at_start, args=(), name="check acl roles at start").start()
358354
Pub().pub("openWB/set/system/boot_done", True)
359355
Path(Path(__file__).resolve().parents[1]/"ramdisk"/"bootdone").touch()
360356
schedule_jobs()

0 commit comments

Comments
 (0)