diff options
Diffstat (limited to 'src/server_lds.c')
| -rw-r--r-- | src/server_lds.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server_lds.c b/src/server_lds.c index a7794aa..12dfe59 100644 --- a/src/server_lds.c +++ b/src/server_lds.c @@ -10,6 +10,7 @@ #include "common.h" +#include <open62541/plugin/accesscontrol_default.h> #include <open62541/plugin/log_stdout.h> #include <open62541/server.h> #include <open62541/server_config_default.h> @@ -66,6 +67,19 @@ main (int argc, char *argv[]) UA_ServerConfig *serverConfig = UA_Server_getConfig (server); + /* Disallow anonymous sessions. + UA_ServerConfig_setDefaultWithSecurityPolicies (called by + createSecureServer) resets access control, so this must come after server + creation. The static credential list is deep-copied. */ + UA_UsernamePasswordLogin logins[] + = { { UA_STRING_STATIC ("user"), UA_STRING_STATIC ("password") } }; + retval = UA_AccessControl_default (serverConfig, false, NULL, 1, logins); + if (retval != UA_STATUSCODE_GOOD) + { + UA_Server_delete (server); + return EXIT_FAILURE; + } + /* Mark this server as a Discovery Server so clients can identify it. */ serverConfig->applicationDescription.applicationType = UA_APPLICATIONTYPE_DISCOVERYSERVER; |
