在尝试了解基于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等属性,但它们对尝试访问的当前用户有效。
答案 0 :(得分:1)
感谢您的澄清。是的你是对的,我使用的是错误的NodeId。正确的NodeId是“HelloWorld / OnlyAdminCanWrite / String”,为了测试WriteExample,要写入的Variant值应该是String。现在它有效!