403 - l'Accès est refusé après l'authentification
Salutations!
Quand j'essaye de l'authentification à l'encontre de ma base de données existante je suis authentifié mais j'obtiens la page 403. Si j'ai juste essayé un mauvais mot de passe que j'ai obtenu un faux diplômes message tant attendu.
J'ai essayé d'authentification par exemple d'application inclus avec SpringSecurity et qui fonctionnait bien.
security-context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-2.0.1.xsd">
<global-method-security secured-annotations="enabled"></global-method-security>
<http auto-config="true" >
<intercept-url pattern="/admin/**" access="ROLE_TEST" />
<intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<form-login
login-page="/login/index.jsp"
default-target-url="/admin/test.jsp"
authentication-failure-url="/login/index.jsp?login_error=1" />
</http>
<authentication-provider user-service-ref="jdbcUserService">
<password-encoder ref="passwordEncoder">
<salt-source system-wide="n103df"/>
</password-encoder>
</authentication-provider>
<beans:bean id="jdbcUserService" class="org.springframework.security.userdetails.jdbc.JdbcDaoImpl">
<beans:property name="rolePrefix" value="" />
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="enableAuthorities" value="true"/>
<beans:property name="enableGroups" value="false"/>
<beans:property name="authoritiesByUsernameQuery" value="SELECT username,authority FROM authorities WHERE username = ?" />
<beans:property name="usersByUsernameQuery" value="SELECT username,password,enabled as enabled FROM users WHERE username = ?" />
<beans:property name="groupAuthoritiesByUsernameQuery" value="" />
</beans:bean>
<beans:bean id="passwordEncoder" class="org.springframework.security.providers.encoding.Md5PasswordEncoder"/>
Permettra d'apprécier l'aide 🙂
Merci à l'avance!
Vous devez vous connecter pour publier un commentaire.
Si vous obtenez une 403 du code, cela signifie que l'utilisateur n'a pas les rôles. Donc, athentication n'est pas le problème, c'est d'autorisation.
La seule façon de savoir ce qui se passe est de mettre le niveau de journalisation de débogage, il devrait y avoir plus d'info. Le poster ici.
Ne vos rôles de la "ROLE_' préfixe?
... compris. Malgré le fait d'avoir ROLE_TEST spécifié dans le fichier de configuration et le même dans l '"autorité" de la colonne de la db, Printemps-Sec m'attendais à ROLE_SUPERVISOR:
... maintenant, je suis curieux, comment venir?
Donc, après un changement de ROLE_TEST à ROLE_SUPERVISOR dans le fichier de config tout a fonctionné comme prévu.