2017-11-17 6 views
1

OPC UAベースのクライアントとサーバーのmiloプロジェクトの例を理解しようとしているときに、以下のシナリオで明確になるようにしたいと考えました。私はUserNameIdentityToken値「管理者」(ユーザー名)とパスワード2(パスワード)を持つユーザーを検証し、サーバーとの接続に名前空間の文字列HelloWorld/OnlyAdminCanWrite/ でWriteExampleテストしようとしていたときMilo OPC UAプロジェクトのノードの「管理者」レベルのアクセスを区別しますか?

、値を書き込むことができませんでした。

ExampleNamespace.javaファイルの次のコードに示すように、アイデンティティがadminとして認識されないためですか?

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

他のユーザーと管理者を区別する方法を教えてください。 AccessLevelやUserAccessLevelのようなテスト済みの属性ですが、アクセスしようとしている現在のユーザーに対しては有効です。

+0

正しいNodeIdに書き込んで、admin/password2の認証情報で接続するように修正してもよろしいですか?私はちょうどそれをテストし、それは正常に動作します。 –

答えて

1

ありがとうございます。はい、あなたは間違ったNodeIdを使っていました。正しいNodeIdは "HelloWorld/OnlyAdminCanWrite/String"であり、WriteExampleをテストするには、書き込むVariant値をStringにする必要があります。今それは動作します!

関連する問題