3 Stimmen

Wie implementiere ich HTTPS für bestimmte Seiten in der Anwendung?

Wir versuchen, HTTPS für einige Seiten in unserer Anwendung zu implementieren. Daher haben wir die tomcat server.xml geändert, um HTTPS-Aufrufe wie folgt zu machen:

In der Anwendungs web.xml:

securedapp
/*

CONFIDENTIAL

Also, HTTPS wird für alle Seiten angewendet. Wie kann man HTTPS für gewünschte Seiten einschränken?

Hilfe wäre geschätzt.

0 Stimmen

Haben Ihre "einige Seiten" ein gemeinsames URL-Muster?

0 Stimmen

N@joseK Die URL-Struktur ist anders.

0 Stimmen

Dieses Thema ähnelt stark stackoverflow.com/questions/1454021/….

4voto

Ralph Punkte 114913

Das Spring Security-Interceptor hat einen Parameter requires-channel. Setzen Sie diesen Parameter auf https, um ihn für die URL-Muster zu erzwingen, die dem Interceptor entsprechen.

2voto

Radh Punkte 21

Erstellen Sie die folgende Klasse

public class RestHttpRequestFilter implements Filter {

   public void destroy() {

   }

   public void doFilter(ServletRequest servletRequest,
                ServletResponse servletResponse, FilterChain filterChain)
                throws IOException, ServletException {
     // if the ServletRequest is an instance of HttpServletRequest
     if (servletRequest instanceof HttpServletRequest) {
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
            System.out.println(httpServletRequest.getRequestURL());
            if (httpServletRequest.getRequestURL().toString().contains("/user/account")
                        && servletRequest.getProtocol().contains("HTTP")) {
                    throw new ResourceNotFoundException(
                            "The url should be HTTPS");
           }
       filterChain.doFilter(httpServletRequest, servletResponse);
     } else {
           // otherwise, continue on in the chain with the ServletRequest and
           // ServletResponse objects
           filterChain.doFilter(servletRequest, servletResponse);
     }  
     return;
   }

   public void init(FilterConfig filterConfig) throws ServletException {}

}

web.xml Eintrag

        simpleFilter
        RestHttpRequestFilter

        simpleFilter
        /*

1voto

AlexR Punkte 111534

Eine einfache Lösung besteht darin, den HttpFilter zu verwenden, der das Protokoll und das URL-Muster überprüft und entscheidet, ob der Aufruf an die Anwendung weitergeleitet oder eine Ausnahme ausgelöst wird, die dazu führt, dass der Benutzer die Fehlerseite sieht.

0 Stimmen

Ok. Bitte können Sie die Lösung im Detail bereitstellen, damit wir verstehen können, wie man den HTTP-Filter verwendet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X