0

リモートユーザーがnullではなく、ユーザーが許可されている場合にページをリダイレクトできるようにするすべての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>

ユーザーをチェックして認証しますが、認証が成功した後はページを転送できません。

提案してください。

4

1 に答える 1

1

発送後の返品を追加

if(ssoUser!=null){
            if(isUserAuthorized(ssoUser))
            request.getRequestDispatcher(fullURL).forward(request, response);
            return; // added a return
        }
于 2012-12-13T12:05:26.437 に答える