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.password– cuba.web.ldap.user属性中定义的系统用户的密码。
-  cuba.rest.ldap.userLoginField- 用于匹配登录名的 LDAP 用户属性的名称。默认情况下是sAMAccountName(适用于 Active Directory)。
local.app.properties文件示例:
cuba.rest.ldap.enabled = true
cuba.rest.ldap.urls = ldap://192.168.1.1:389
cuba.rest.ldap.base = ou=Employees,dc=mycompany,dc=com
cuba.rest.ldap.user = cn=System User,ou=Employees,dc=mycompany,dc=com
cuba.rest.ldap.password = system_user_password可以使用以下端点获取 OAuth 令牌:
http://localhost:8080/app/rest/v2/ldap/token
此端点使用基本身份验证进行访问保护。REST API 客户端标识符和密码用于基本身份验证。请注意,这些不是应用程序用户登录名和密码。REST API 客户端 ID 和密码在应用程序属性 cuba.rest.client.id 和 cuba.rest.client.secret 中定义。(默认值分别为 client 和 secret)。必须在 Authorization 请求头中以 base64 编码的字符串传递客户端 ID 和密码,客户端 ID 和密码使用冒号(":")分隔。
请求参数与标准身份验证相同:
-  grant_type- 总是password.
-  username- 应用程序用户登录名。
-  password- 应用程序用户密码。
请求类型必须是 application/x-www-form-urlencoded,编码方式为 UTF-8。
此外,可以禁用使用登录名和密码的标准身份验证:
cuba.rest.standardAuthenticationEnabled = false