区分 Milo OPC UA 项目中节点的 "admin" 级别访问?

Differentiating an "admin" level access for a node in Milo OPC UA project?

在尝试理解基于 OPC UA 的客户端和服务器的 milo 项目示例时,想弄清楚以下场景。

当我尝试使用命名空间字符串测试 WriteExample 时 HelloWorld/OnlyAdminCanWrite/ 连接服务器验证用户 UserNameIdentityToken 值 "admin"(用户名)和密码 2(密码),它无法写入值。

是否是因为在 ExampleNamespace.java 文件中的以下代码中,身份未被识别为 admin?

node.setAttributeDelegate(new RestrictedAccessDelegate(identity -> {
    if ("admin".equals(identity)) {
        return AccessLevel.READ_WRITE;
    } else {
        return AccessLevel.READ_ONLY;
    }

如何区分管理员和其他用户?测试了 AccessLevel 和 UserAccessLevel 等属性,但它们对尝试访问的当前用户有效。

感谢您的澄清。是的,你是对的,我用错了 NodeId。正确的 NodeId 是 "HelloWorld/OnlyAdminCanWrite/String" 并且为了测试 WriteExample 要写入的 Variant 值应该是一个字符串。现在可以了!