我们正在尝试使用我们的组织的单点登录身份验证来宣传我们从供应商那里购买的Web软件。他们的软件期望在我们将控制转到他们的欢迎页面之前,在JSP中将CGI环境变量REMOTE_USER设置为用户ID。(他们的技术手册只这样描述:"...the HTTP response object应该用经过身份验证的用户的用户名填充远程用户属性。“)获取这个值很容易,但是我们还没有在Google搜索中找到一个简单的方法来设置它。我们有信心这是可能的。谢谢你的建议。
发布于 2010-12-02 03:44:18
您不能自己以编程方式设置CGI变量REMOTE_USER
。这是一个由user服务器控制的变量,它基于从Authorization
HTTP请求报头中提取的用户名。在客户端输入HTTP基本身份验证的凭据后,客户端( set浏览器)将设置原始标头。
我只是不明白手册中关于在HTTP响应中设置属性的意思。这没有意义。如果它是基于Java Servlet的API,则将其设置为请求的自定义属性会更有意义。
request.setAttribute("REMOTE_USER", "some user ID");
在转发(不是重定向!)之后,它将可用于转发的资源。
但是,这仍然没有什么意义。我想知道您实际上是否指的不是“重定向”或“代理”而不是“转发”,但您通常不会使用JSP来实现这一点,因为这是响应的一部分,因此可能会使其畸形。servlet是正确的选择。
https://stackoverflow.com/questions/4327911
复制相似问题