gpt4 book ai didi

java - 身份验证成功后过滤器不转发页面

转载 作者:行者123 更新时间:2023-12-01 14:59:38 24 4
gpt4 key购买 nike

我已经为所有jsp页面创建了过滤器,允许在远程用户不为空且用户允许时重定向页面。代码如下

public void doFilter(final ServletRequest request,
final ServletResponse response, final FilterChain chain)
throws IOException, ServletException {

String ssoUser = null;
String fullURL = null;
boolean isUserAuthorized = false;
try {

ssoUser = ((HttpServletRequest) request).getRemoteUser();

String queryString =((HttpServletRequest)request).getQueryString();
if(queryString!=null){
fullURL = ((HttpServletRequest)request).getRequestURL().append("?").append( queryString).toString();
}
else{
fullURL = ((HttpServletRequest)request).getRequestURL().toString();
}

//want to forward if correct this condition
if(ssoUser!=null){
if(isUserAuthorized(ssoUser))
request.getRequestDispatcher(fullURL).forward(request, response);
}

chain.doFilter(request, response);

} catch (Exception e) {

}

web.xml

<filter>
<filter-name>UserFilter</filter-name>
<filter-class>com.filter.UserFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>UserFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

它将检查用户并进行身份验证,但身份验证成功后无法转发页面。

请提出建议。

最佳答案

添加发货后返回

if(ssoUser!=null){
if(isUserAuthorized(ssoUser))
request.getRequestDispatcher(fullURL).forward(request, response);
return; // added a return
}

关于java - 身份验证成功后过滤器不转发页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859190/

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