【发布时间】:2013-01-15 13:56:30
【问题描述】:
我正在尝试使用HttpServletRequest.login 方法登录用户。我已经设置了我的web.xml,创建了一个login.xhtml,并将登录按钮的操作映射到我称为performLogin 的支持bean 方法
问题是从用户被重定向的地方获取 URL。 IE。他试图去index.xhtml,但没有会话,所以被重定向到login.xhtml。我想首先获取他请求的 url,所以我尝试从请求映射中读取 RequestDispatcher.FORWARD_REQUEST_URI,如 balusC 所述:JSF 2.0 : How to redirect to the protected page after using HttpServletRequest.login
这在使用 websphere 时不起作用,我猜是因为它不转发,而是将用户重定向到登录页面。但是,由于 Websphere 本身在使用 http-form 中内置的 j_security_check 操作时能够进行正确的转发,所以这一定是可以完成的!
所以,我的问题基本上是;在 websphere 上运行时,如何获取此 uri 以便在成功登录时将用户转发到正确的页面?
【问题讨论】:
-
很抱歉没有为您的问题提供解决方案,但是如果应用程序服务器可以以声明方式为您完成,您为什么要使用登录并自己进行身份验证?使用
web.xml定义security-constraint和login-config和login页面,并让流程由WAS 管理。它可以为您节省大量时间。 -
我需要获取输入的用户名和密码,因为在与也具有基本身份验证的 REST Web 服务通信时,我将其用作标头参数。这些将部署在使用相同 LDAP 的不同服务器上。如果我让处理它,我将无法获取密码,只能获取主体的用户名。因此,只要会话对 Web 应用程序有效,它就能够使用他在登录表单中键入的相同凭据与其余服务进行通信。
标签: jsf redirect jsf-2 websphere basic-authentication