sec:create-external-security( $external-security-name as xs:string, $description as xs:string, $authentication as xs:string, $cache-timeout as xs:unsignedInt, $authorization as xs:string, $ldap-server as (sec:ldap-server)?, $saml-server as (sec:saml-server)?, $client-certificate-authorities as xs:unsignedLong*, $require-client-certificate as xs:boolean ) as xs:unsignedLong
This function creates an external authentication configuration object and returns the id of the configuration. This configuration is used when MarkLogic Server is used with an external Kerberos and/or LDAP server to control user access.
For more information on external security, see External Security in the Security Guide.
Parameters | |
---|---|
external-security-name | The name of external authentication configuration. |
description | The description of external authentication configuration. |
authentication |
The authentication protocol. This can be either
ldap , saml ,
kerberos , or certificate .
If authentication is |
cache-timeout | Login cache timeout, in seconds. |
authorization |
The authorization scheme. Set to ldap for external authorization
using an LDAP server, internal to authorize using MarkLogic Server,
or saml for SAML authorization.
|
ldap-server | The LDAP server configuration created by the sec:ldap-server function. |
saml-server | The SAML server configuration created by the sec:saml-server function. |
client-certificate-authorities | One or more client certificate authority ids. |
require-client-certificate |
Whether a client certificate is required. Set to true to require a client certificate,
or false to not require a client certificate. This parameter cannot be null or empty.
|
(: execute this against the security database :) xquery version "1.0-ml"; import module namespace sec = "http://marklogic.com/xdmp/security" at "/MarkLogic/security.xqy"; let $ldap-config := sec:ldap-server( "ldap://dc1.mltest1.local:389", "CN=Users,DC=MLTEST1,DC=LOCAL", "sAMAccountName", "cn=User1,cn=Users,dc=MLTEST1,dc=local", "password1", "simple") return sec:create-external-security( "ldapconfig", "config for ldap", "ldap", 300, "ldap", $ldap-config, (), (), true()) (: Creates an external authorization configuration object, named "ldapconfig," that uses the 'simple' bind method for an LDAP server. :)
(: execute this against the security database :) xquery version "1.0-ml"; import module namespace sec = "http://marklogic.com/xdmp/security" at "/MarkLogic/security.xqy"; let $saml-config := sec:saml-server("http://id.example.com/example", (),(), <sec:http-options xmlns="xdmp:http"> <authentication method="digest"> <username>admin</username> <password>admin</password> </authentication> </sec:http-options>) return sec:create-external-security( "samlconfig", "config for saml", "ldap", 300, "saml", (), $saml-config, (), true()) (: Creates an external authorization configuration object, named "samlconfig," for a SAML server. :)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.