3.9.11.2. 使用 LDAP 进行 REST API 身份验证

可以使用以下属性启用 REST 的 LDAP 身份验证:

  • cuba.rest.ldap.enabled - 是否启用 LDAP 身份验证。

  • cuba.rest.ldap.urls – LDAP 服务器 URL。

  • cuba.rest.ldap.base – 用户搜索的基准 DN。

  • cuba.rest.ldap.user – 有权从目录中读取信息的系统用户的专有名称。

  • cuba.rest.ldap.passwordcuba.web.ldap.user属性中定义的系统用户的密码。

  • cuba.rest.ldap.userLoginField - 用于匹配登录名的 LDAP 用户属性的名称。默认情况下是 sAMAccountName(适用于 Active Directory)。

local.app.properties文件示例:

  1. cuba.rest.ldap.enabled = true
  2. cuba.rest.ldap.urls = ldap://192.168.1.1:389
  3. cuba.rest.ldap.base = ou=Employees,dc=mycompany,dc=com
  4. cuba.rest.ldap.user = cn=System User,ou=Employees,dc=mycompany,dc=com
  5. cuba.rest.ldap.password = system_user_password

可以使用以下端点获取 OAuth 令牌:

http://localhost:8080/app/rest/v2/ldap/token

此端点使用基本身份验证进行访问保护。REST API 客户端标识符和密码用于基本身份验证。请注意,这些不是应用程序用户登录名和密码。REST API 客户端 ID 和密码在应用程序属性 cuba.rest.client.idcuba.rest.client.secret 中定义。(默认值分别为 clientsecret)。必须在 Authorization 请求头中以 base64 编码的字符串传递客户端 ID 和密码,客户端 ID 和密码使用冒号(":")分隔。

请求参数与标准身份验证相同:

  • grant_type - 总是 password.

  • username - 应用程序用户登录名。

  • password - 应用程序用户密码。

请求类型必须是 application/x-www-form-urlencoded,编码方式为 UTF-8

此外,可以禁用使用登录名和密码的标准身份验证:

  1. cuba.rest.standardAuthenticationEnabled = false