Allow configuring remote control permissions for different users (#13974)

Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
21pages
2026-01-09 00:21:28 +08:00
committed by GitHub
parent 4d3ccc62e8
commit 3a9084006f
11 changed files with 353 additions and 60 deletions

View File

@@ -3039,10 +3039,21 @@ Future<void> start_service(bool is_start) async {
}
Future<bool> canBeBlocked() async {
var access_mode = await bind.mainGetOption(key: kOptionAccessMode);
// First check control permission
final controlPermission = await bind.mainGetCommon(
key: "is-remote-modify-enabled-by-control-permissions");
if (controlPermission == "true") {
return false;
} else if (controlPermission == "false") {
return true;
}
// Check local settings
var accessMode = await bind.mainGetOption(key: kOptionAccessMode);
var isCustomAccessMode = accessMode != 'full' && accessMode != 'view';
var option = option2bool(kOptionAllowRemoteConfigModification,
await bind.mainGetOption(key: kOptionAllowRemoteConfigModification));
return access_mode == 'view' || (access_mode.isEmpty && !option);
return accessMode == 'view' || (isCustomAccessMode && !option);
}
// to-do: web not implemented