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

时间:2017-11-17 15:28:11

标签: opc-ua milo

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

感谢您的澄清。是的你是对的,我使用的是错误的NodeId。正确的NodeId是“HelloWorld / OnlyAdminCanWrite / String”,为了测试WriteExample,要写入的Variant值应该是String。现在它有效!