如何在 OpenAM 中获取 header 属性?

How to get header attributes in OpenAM?

我做了什么?

1) 安装了 OpenAM 6.5。

2) 在 OpenAM 中创建 Webagent。

3) 安装 Apache HTTP 服务器来路由请求。

4) 通过 Apache HTTP 服务器安装 Webagent。

5) 保护测试应用程序并尝试通过 Webagent 访问并获取 OpenAM 的登录页面。

6) 输入凭据后,应用程序运行正常。

我想将用户详细信息(例如 - 用户名、组、角色、isMemberOf、memberOf、REMOTE_USER、USER_ID、REMOTE_PORT、REMOTE_USER_GROUP 放入该测试应用程序浏览器。

该测试应用程序只是一个简单的 JSP 应用程序,只是为了查看用户使用这样的请求 <%=request.getHeader("REMOTE_USER")%> 的一些 header 属性,但是,我得到了响应 NULL 有了这个。

所以,请帮我通过 Header 属性获取用户详细信息。

OpenAM 控制台中有一个选项 > 授权 > 策略集 > 默认策略集 > 响应。

在这里我选择了所需的响应属性,例如 - "uid, cn, dn, givenName, distinguishedName, sn, isMemberOf, memberOf" 但它没有帮助我。

这是 test.jsp 文件中使用的 jsp 代码。

<%@ page import="java.io.*,java.util.*" %>

Connection = <%=request.getHeader("Connection")%>

Cookie = <%=request.getHeader("Cookie")%>

uid = <%=request.getHeader("uid")%>

givenName = <%=request.getHeader("givenName")%>

dn = <%=request.getHeader("dn")%>

cn = <%=request.getHeader("cn")%>

userGroup = <%=request.getHeader("userGroup")%>

REMOTE_USER = <%=request.getHeader("REMOTE_USER")%>

回复:

uid = null 

givenName = null 

dn = null 

inetUserStatus = null 

cn = null 

userGroup = null 

REMOTE_USER = null

您需要在代理配置文件 (https://backstage.forgerock.com/docs/openam-web-policy-agents/5.6/web-agents-guide/#web-agent-profile-attributes-processing-properties). You may also make sure add additional 'user attributes' in the identity store of the realm used to authenticate the users (https://backstage.forgerock.com/docs/am/6.5/maintenance-guide/#sec-maint-datastore-customattr) 中配置 'profile attributes mapping'。