2017-11-17 22 views
1

OPC UA 기반 클라이언트 및 서버의 milo 프로젝트 예제를 이해하려고 시도하는 동안 다음 시나리오에서 명확하게 설명하고자했습니다. Milo OPC UA 프로젝트에서 노드에 대한 "관리자"수준의 액세스를 차별화 하시겠습니까?

나는 UserNameIdentityToken 값 "관리자"(사용자 이름)과 암호 2 (암호)는 값을 기록 할 수 없습니다와 사용자의 유효성을 확인 서버와 연결하는 네임 스페이스 문자열 HelloWorld/OnlyAdminCanWrite/ 와 WriteExample을 테스트려고합니다.

ExampleNamespace.java 파일의 다음 코드에서 볼 수있는 것처럼 ID가 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을 테스트하기 위해 Write 할 Variant 값은 String이어야합니다. 이제 작동합니다!