OpenId + JSF将用户重定向到他登录的页面?

Sub*_*shi 6 java openid jsf web.xml

我正在使用OpenId4Java和JSF应用程序我已经在我的web.xml中添加了类似这样的安全约束.

<security-constraint>
     <web-resource-collection>
       <web-resource-name>Restricted</web-resource-name>
       <url-pattern>/core/*</url-pattern>
       <http-method>GET</http-method>
       <http-method>POST</http-method>
     </web-resource-collection>
</security-constraint>
<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/user/login.xhtml</form-login-page>
    <form-error-page>/user/logout.xhtml</form-error-page>
  </form-login-config>
</login-config>
Run Code Online (Sandbox Code Playgroud)

现在,当应用程序启动并且用户想要访问时

HTTP://www.somehost:8080/MyApp的/核心/ abc.xhtml

web.xml的帮助下我现在可以向用户显示一个登录页面我在这里用openid登录如谷歌,雅虎现在我的问题是我怎么能告诉openid我的返回网址

HTTP://www.somehost:8080/MyApp的/核心/ abc.xhtml

或者如果用户来自

HTTP://www.somehost:8080/MyApp的/核心/ xyz.xhtml

此网址成功登录后,用户将转到此页面.

Ajm*_*med 0

为了获取用户尝试访问的原始 URL,请尝试使用变量RequestDispatcher.FORWARD_REQUEST_URI

仅当您从其他受限页面重定向到登录页面时,此变量才可用。因此,请记住有一些默认网址,以防用户直接点击登录页面。

正如 rrufai 指出的,一旦用户请求的原始 url 可用,您可以按照本文中提到的步骤在身份验证完成后重定向到该 url。