2016-07-27 8 views
1

Ich habe ein Problem mit dem Hinzufügen von Link-Tag in meiner JSP-Seite in Spring MVC-Anwendung.SAMLRequest 403 Zugriff verweigert in CSS-Link-Tag

Diese JSP-Seite wird verwendet, um "Zugriff verweigert" zu behandeln, nachdem SAMLRequest erstellt wurde. Aber einige, wie mein Link-Tag SAMLRequest anstelle von CSS-Text in JSP erhält. Kann mir jemand in dieser Ausgabe helfen?

Meine JSP

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<html> 
<head> 
    <link rel="stylesheet" href="css/temp.css" type="text/css"> 
</head> 
<body> 
    <div class="forbidden"> 
     <div class="repeat-image"> 
      <div class="main-image image403"> 
       <div class="text-block"> 
        <p class="status">403</p> 
        <p class="title">Access Denied</p> 
        <p class="message">You currently do not have permission to access this page. Want access?</p> 

        <div class="instructions"> 
         Instructions to request via Self Service UAA<br /> 
         <ul> 
          <li>In SSUAA --> Search for "Access"</li> 
          <li>Click "Next" to confirm requests</li> 
         </ul> 
         You will receive an email confirmation and status updates for your request 
        </div> 
        <div class="message"> 
         Go ahead and request it <a href="url" target="_blank">here &raquo; </a> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

Firebug HTML Tab:

<html> 
<head> 
<link type="text/css" href="css/temp.css" rel="stylesheet"> 
<HTML><HEAD><TITLE>HTTP Post Binding (Request)</TITLE></HEAD><BODY Onload="document.forms[0].submit()"><FORM METHOD="POST" ACTION="/idp/SSO.saml2"><INPUT TYPE="HIDDEN" NAME="SAMLRequest" VALUE="PHNhbWxwOkF1dGhuUmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnBm5hbWVpZC1mb3JtYXQ6dHJhbnNpZW50IiBBbGxvd0NyZWF0ZT0idHJ1ZSIvPjwvc2FtbHA6QXV0aG5SZXF1ZXN0Pg=="/><INPUT TYPE="HIDDEN" NAME="RelayState" VALUE="https://localhost:8080/"/></FORM></BODY></HTML> 
</link> 
</head> 
<body> 
</html> 

Verzeichnisstruktur:
enter image description here

Sicherheits Portion:

<security:http pattern="/css/**" security="none" /> 
<security:http pattern="/images/**" security="none" /> 
<security:http pattern="/403" security="none" /> 

<security:http entry-point-ref="entryPoint" 
    use-expressions="true"> 
    <security:intercept-url pattern="/**" 
     access="isAuthenticated()" /> 
    <security:custom-filter position="CAS_FILTER" 
     ref="authenticationFilter" /> 
    <security:logout logout-url="/signout" 
     logout-success-url="/" /> 
    <security:csrf disabled="true"/> 
</security:http> 

<bean id="authenticationFilter" 
    class="com.espn.ese.ais.vod.ams.security.picketlink.PicketLinkAuthenticationFilter" 
    lazy-init="true"> 
    <constructor-arg value="${picketlink.filter.processes.url}" /> 
    <property name="authenticationManager" ref="authenticationManager" /> 
    <property name="serviceUrl" value="${picketlink.service.url}" /> 
    <property name="authenticationFailureHandler"> 
     <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> 
      <constructor-arg value="/403" /> 
     </bean> 
    </property> 
</bean> 
<security:authentication-manager alias="authenticationManager"> 
    <security:authentication-provider 
     ref="authenticationProvider" /> 
</security:authentication-manager> 

<bean id="authenticationProvider" 
    class="com.espn.ese.ais.vod.ams.security.picketlink.PicketLinkAuthenticationProvider" 
    lazy-init="true"> 
    <property name="authenticationUserDetailsService"> 
     <bean 
      class="com.espn.ese.ais.vod.ams.security.picketlink.PicketLinkAuthenticationUserDetailsService"> 
      <constructor-arg ref="userDetailsService" /> 
     </bean> 
    </property> 
</bean> 

<bean id="userDetailsService" 
    class="com.espn.ese.ais.vod.ams.security.TestUserDetailsService" 
    lazy-init="true" /> 

Seite nicht gefunden:

2016-07-28 10:19:18,023 WARN [org.springframework.web.servlet.PageNotFound] (http-/0.0.0.0:8080-1) No mapping found for HTTP request with URI [/{contextroot}/css/temp.css] in DispatcherServlet with name 'spring-web' 
+0

Bitte veröffentlichen Sie die Verzeichnisstruktur Ihres css/jsp und den Teil Ihrer Sicherheitskonfiguration, der definiert, wie Filter angewendet werden und welche Verzeichnisse erlaubt sind. – blur0224

+0

@ blur0224 - Ich habe meinen Beitrag gemäß Ihrem Kommentar aktualisiert. Vielen Dank! – Mohan

+0

Etwas in der SAML-Sicherheitskonfiguration schützt die URL fälschlicherweise. Wenn Sie können, können Sie die vollständige SAML-Sicherheitskonfiguration posten? Außerdem sollten Sie Ihre Spring-Logging-Funktion zum Debuggen aktivieren und den Block der Log-Ausgabe veröffentlichen, der beim Laden der Seite entspricht. Es sollte eine Ausgabe geben, die die Anfrage anzeigt, die umgeleitet wird. – blur0224

Antwort

0

Schließlich fand ich die Lösung für oben genannte Problem. Ich vermisste <mvc:default-servlet-handler /> in meinem spring-web-servlet.xml

Danke @ bluno224 für Ihre Zeit.