Note: Replace dbsecret in the examples below with the appropriate database secret.
Query user database
Messages explained here can be used to query domain and user information.
Retrieve all domains
<queryDatabase secret="dbsecret"> <domain/> </queryDatabase>
Retrieve specific domain (example: return only domain "default")
<queryDatabase secret="dbsecret"> <domain exact="default"/> </queryDatabase>
Retrieve domains with filter (example: domains name starts with "d")
<queryDatabase secret="dbsecret"> <domain filter="d*"/> </queryDatabase>
Retrieve all users in a domain
<queryDatabase secret="dbsecret"> <user domain="default"/> </queryDatabase>
Retrieve specific user (example: return only user "\\default\admin")
<queryDatabase secret="dbsecret"> <user exact="\\default\admin"/> </queryDatabase>
Retrieve users in a domain with filter (example: username starts with "a")
<queryDatabase secret="dbsecret"> <user domain="default" filter="a*"/> </queryDatabase>
Synchronize whole domain
The message explained here will update the domain with all the provided information. A domain secret needs to set for the domain (see User management and general section for the domain). Users who do not yet exist will be created automatically. Users who are not specified in the list will be deleted. See Set properties for domains and users for the description of all user properties.
<domainSynchronize secret="domain_secret" domain="abc"> <users> <user name="user"> <password>xyz</password> </user> <user name="user2"> <password>123</password> </user> </users> </domainSynchronize>
Modify user database
Create domain
<manipulateDatabase secret="dbsecret"> <updateDomain mode="insert" name="abc"/> </manipulateDatabase>
Force domain creation (no error is reported, if the domain already exists)
<manipulateDatabase secret="dbsecret"> <updateDomain mode="force-update" name="abc"/> </manipulateDatabase>
Delete domain
<manipulateDatabase secret="dbsecret"> <deleteDomain mode="delete" name="abc"/> </manipulateDatabase>
Force domain deletion (no error is reported, if the domain does not exist)
<manipulateDatabase secret="dbsecret"> <deleteDomain mode="force-delete" name="abc"/> </manipulateDatabase>
Rename domain
<manipulateDatabase secret="dbsecret"> <renameDomain name="abc" newname="bbc"/> </manipulateDatabase>
Create user and set password
<manipulateDatabase secret="dbsecret"> <updateUser mode="insert" domain="abc" name="user"> <password>xyz</password> </updateUser> </manipulateDatabase>
Set raw password in database (add suffix "Raw" to any password type field) - ISL Conference Proxy 4.2.3+
<manipulateDatabase secret="dbsecret"> <updateUser mode="insert" domain="abc" name="user"> <passwordRaw>xyz</passwordRaw> </updateUser> </manipulateDatabase>
Force user creation (no error is reported, if the user already exists)
<manipulateDatabase secret="dbsecret"> <updateUser mode="force-update" domain="abc" name="user"> <password>xyz</password> </updateUser> </manipulateDatabase>
Delete user
<manipulateDatabase secret="dbsecret"> <deleteUser mode="delete" domain="abc" name="user"/> </manipulateDatabase>
Force user deletion (no error is reported, if the user does not exist)
<manipulateDatabase secret="dbsecret"> <deleteUser mode="force-delete" domain="abc" name="user"/> </manipulateDatabase>
Rename user
<manipulateDatabase secret="dbsecret"> <renameUser domain="abc" name="user" newname="user2"/> </manipulateDatabase>
Set properties
Change user's password
<manipulateDatabase secret="dbsecret"> <updateUser mode="update" domain="abc" name="user"> <password>aaaaa</password> </updateUser> </manipulateDatabase>
Other properties
<manipulateDatabase secret="dbsecret"> <updateUser mode="update" domain="abc" name="user"> <enabled>yes</enabled> <!-- account is enabled (yes|no|no-weak) --> <externalId>87474</externalId> <!-- external ID, userful for integration --> <concurrentLimit>3</concurrentLimit> <!-- concurrent connection limit --> <userViewDomain>yes</userViewDomain> <!-- user can view domain sessions (yes|no|no-weak) --> <userControlDomain>yes</userControlDomain> <!-- user can control domain sessions (yes|no|no-weak) --> <userViewServer>yes</userViewServer> <!-- user can view server sessions (yes|no|no-weak) --> <userControlServer>yes</userControlServer> <!-- user can control server sessions (yes|no|no-weak) --> <validFrom>0</validFrom> <validTo>10000000</validTo> <!-- account valid time interval, UNIX epoch format (seconds after 1970-1-1 0:0:0 UTC) --> <validFromDateTime>2005-01-05T05:04:03Z</validFromDateTime> <validToDateTime>2006-01-05T05:04:03Z</validToDateTime> <!-- account valid time interval, XML schema date time format --> </updateUser> </manipulateDatabase>
Note: These examples cover only some of the options. For a list of all options, please refer to the protocol specification file that is available at http://localhost:7615/xmlmsg/relaxng.xml.