ONVIF 的運作過程中,可以分別在 HTTP Level 或是 web service leve 進行使用者認證,根據使用者提供的帳號密碼,可將用戶分成以下四類:
- Administrator
- Operator
- User
- Anonymous
注意:沒有認證的用戶皆歸類於 Anonymous,原文摘錄如下
Unauthenticated users are placed into the anonymous category and a device shall not allow users to be added to the anonymous user level category
ONVIF 認證方式
HTTP Level 使用 [RFC2617] 定義的 Digest Authenticaion。
Web Service Level 使用 WS-Security Network 定義的 user name token profile 認證機制,如下
- User name token profile [WS-UsernameToken]
- X.509 security token profile [WS-X.509Token]
- SAML token profile [WS-SAMLToken]
- Kerberos token profile [WS-KerberosToken]
- Rights Expression Language (REL) Token Profile [WS-RELToken]
兩種認證機制可同時存在。
參考 ONVIF-Core-Specification-v220.pdf,若使用者沒有經過正確的認證,則將使用者定義為 anonymous ,此類用戶可以存取 ACCESS CLASS 為 PRE_AUTH 的服務,也就是說下列這些服務的存取可以不需要經過帳號密碼的認證程序。共有8個
- GetWsdlUrl
- GetServices
- GetServiceCapabilities
- GetCapabilities
- GetHostname
- GetSystemDateAndTime
- GetEndpointReference
- GetRelayOutputOptions
註:PRE_AUTH
The service shall not require user authentication.
Example: GetEndpointReference