gpt4 book ai didi

java - 在 JAAS 重定向之前检索请求的 URL

转载 作者:搜寻专家 更新时间:2023-11-01 03:25:51 24 4
gpt4 key购买 nike

是否可以在 JAAS 重定向之前检索用户请求的 URL?

我的 web.xml 是这样的:

<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsf</form-login-page>
<form-error-page>/login.jsf</form-error-page>
</form-login-config>
</login-config>

所以,当我没有登录并尝试去 ex 时。 www.blah.com/myApp/users.jsf然后应用将我重定向到 login.jsf 但 url 仍然与用户请求的相同。

然后我填写登录表单并单击“登录”,这将转到我的 backbean,在那里调用我的 loginModule 和 callbackHandler 例如:

public String actionLogin(){
//do my login and stuff
return "page that user requested";
}

我尝试了很多方法来获取用户请求的页面。 request.getRequestURL()

全部返回我:www.blah.com/myApp/login.jsf

有什么方法可以获取请求的页面? www.blah.com/myApp/users.jsf

问候

最佳答案

登录页面由服务器端转发器内部打开 RequestDispatcher#forward() .因此,这意味着最初请求的页面可作为请求属性使用,其名称在 RequestDispatcher.FORWARD_REQUEST_URI 中指定。不变。在 JSF 术语中,可按如下方式使用:

String originalURI = (String) externalContext.getRequestMap().get(RequestDispatcher.FORWARD_REQUEST_URI);
String originalQuery = (String) externalContext.getRequestMap().get(RequestDispatcher.FORWARD_QUERY_STRING);

if (originalQuery != null) {
originalURI+= "?" + originalQuery;
}

(记住在它返回 null 的情况下有一个回退 URL,即当它被直接打开而没有先点击受限 URL 时)

收集它的最佳位置是与登录页面关联的 @ViewScoped bean 的(后)构造函数。

另见:

关于java - 在 JAAS 重定向之前检索请求的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com