1

在尝试了解基于 OPC UA 的客户端和服务器的 milo 项目示例时,希望对以下场景进行澄清。

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

是不是因为在 ExampleNamespace.java 文件中的以下代码中看到的身份未被识别为管理员?

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

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

4

1 回答 1

1

谢谢你的澄清。是的,你是对的,我使用了错误的 NodeId。正确的 NodeId 是“HelloWorld/OnlyAdminCanWrite/String”,为了测试 WriteExample,要写入的 Variant 值应该是一个字符串。现在它起作用了!

于 2017-11-27T11:57:08.620 回答