【问题标题】:how can I set additional information in openAM?如何在 openAM 中设置附加信息?
【发布时间】:2016-06-23 07:20:59
【问题描述】:

我正在使用 openAM 对我们的应用程序进行身份验证。 OpenAM 正在使用 LDAP。我正在使用 HTTP_HEADER 获取用户名,如下所示。

String userid = request.getHeader("HTTP_REMOTE_UID");
userid = userid != null ? userid.trim() : null; 

现在,我只获得用户名,但我还需要更多信息,例如城市、国家/地区等。

谁能告诉我如何在 openAM 中设置附加信息,以便我可以从 HTTP HEADER 获取它?

我是 OPENAM 的新手,所以如果它是无用的问题,请忽略这个问题。

提前感谢您宝贵的时间。

【问题讨论】:

  • 您的应用程序是否受到策略代理的保护?还是直接使用 REST API 连接到 OpenAM?
  • @GuillermoR 它受策略代理保护。我们没有使用 REST。

标签: java jakarta-ee openam


【解决方案1】:

如果属性作为用户条目的一部分存储在 LDAP 中,请按照以下步骤操作:

  1. 登录管理控制台。
  2. 转到 访问控制 > REALM_NAME > 数据存储 > DATASTORE_NAME > LDAP 用户属性 并确保该属性已在此处列出。
  3. 转到 Access Control > REALM_NAME > Agents > J2EE > AGENT_NAME > Application > General > Profile Attributes Processing 并为您的新属性添加映射:[ldap_attr_name]=header_name(即 [mail]= EMAIL_HEADER、[cn]=CN_HEADER 等...)。
  4. 确保 Profile Attribute Fetch Mode 设置为 HTTP_HEADER。
  5. (可选)如果通知被禁用,则退回策略代理。

【讨论】:

  • 非常感谢您的帮助。
  • 只有在根本没有配置通知模式或配置不正确时才需要退回代理
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多