2014-07-25 2 views
0

Salut J'ai une configuration de formulaire de connexion pour l'authentification et je veux remplacer mon simple formulaire de connexion parSpring l'authentification de base

 response.setHeader("WWW-Authenticate", "Basic realm=\"/\""); 
     response.setStatus(401); 
     response.setHeader("Location", url); 

à se comporter comme cette forme et utilisé spnegoAuthenticationProcessingFilter:

<div id="login-box"> 

    <h3>Login with Username and Password</h3> 
    <c:if test="${not empty error}"> 
     <div class="error">${error}</div> 
    </c:if> 
    <c:if test="${not empty msg}"> 
     <div class="msg">${msg}</div> 
    </c:if> 

    <form name='loginForm' action="<c:url value='j_spring_security_check' />" method='POST'> 
     <table> 
     <tr> 
      <td>User:</td> 
      <td><input type='text' name='j_username' value=''></td> 
     </tr> 
     <tr> 
      <td>Password:</td> 
      <td><input type='password' name='j_password' /></td> 
     </tr> 
     <tr> 
      <td colspan='2'><input name="submit" type="submit" value="submit" /></td> 
     </tr> 
     </table> 
    </form> 
</div> 

Ceci est ma sécurité de printemps c onfiguration:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://www.springframework.org/schema/security" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
       http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd"> 


    <sec:http entry-point-ref="spnegoEntryPoint" auto-config="false" > 
     <sec:intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" /> 
     <sec:intercept-url pattern="/**" access="ROLE_USER" /> 
     <sec:custom-filter ref="spnegoAuthenticationProcessingFilter" position="BASIC_AUTH_FILTER" /> 
     <sec:form-login login-page="/login" default-target-url="/hello" always-use-default-target="true"/> 
    </sec:http> 

    <bean id="spnegoEntryPoint" class="org.springframework.security.extensions.kerberos.web.SpnegoEntryPoint" /> 

    <bean id="spnegoAuthenticationProcessingFilter" class="org.springframework.security.extensions.kerberos.web.SpnegoAuthenticationProcessingFilter"> 
     <property name="authenticationManager" ref="authenticationManager" /> 
    </bean> 

    <sec:authentication-manager alias="authenticationManager"> 
     <sec:authentication-provider ref="kerberosAuthenticationProvider"/> 
    </sec:authentication-manager> 

    <!-- Login form auth --> 
    <bean id="kerberosAuthenticationProvider" class="org.springframework.security.extensions.kerberos.KerberosAuthenticationProvider"> 
     <property name="kerberosClient"> 
      <bean class="org.springframework.security.extensions.kerberos.SunJaasKerberosClient"> 
       <property name="debug" value="true" /> 
      </bean> 
     </property> 
     <property name="userDetailsService" ref="dummyUserDetailsService" /> 
    </bean> 

    <bean class="org.springframework.security.extensions.kerberos.GlobalSunJaasKerberosConfig"> 
     <property name="debug" value="true" /> 
     <property name="krbConfLocation" value="/apps/bin/krb5/krb5.conf" /> 
    </bean> 

    <bean id="dummyUserDetailsService" class="com.web.ldap.DummyUserDetailsService"/> 

</beans> 

C'est possible?

+0

Supprimez la configuration de l'élément 'form-login' devrait suffire. –

+0

Formulaire de connexion supprimé, mais n'a toujours pas user3815507

+0

Si je remplace le formulaire par response.setHeader ("WWW-Authentifier", "Basic realm = \"/\ ""); response.setStatus (401); response.setHeader ("Location", url); J'ai encore une fenêtre mais mon autorisation ne fonctionne pas. – user3815507

Répondre

0

Je le fais en ce

<sec:http> 
    <sec:intercept-url pattern="/**" access="ROLE_USER" /> 
    <sec:http-basic entry-point-ref="spnegoEntryPoint"/> 
<!-- <sec:custom-filter ref="spnegoAuthenticationProcessingFilter" position="BASIC_AUTH_FILTER" /> --> 
</sec:http> 

mais maintenant je ne pas travailler spnegoAuthenticationProcessingFilter ...

Si je décommenter filtre sur mesure mon application ne fonctionnera pas

Questions connexes