2016-05-31 7 views
-1

Ich verwende Spring Security, um meine Benutzer zu validieren und zu authentifizieren. Authentifizierung funktioniert völlig in Ordnung, aber wenn ein Benutzer auf eine Seite bei der Anmeldung umgeleitet wird, die spezifische Zugang erfordert, geht es zum Zugriff verweigert Seite (Der Benutzer hat die erforderlichen Zugriffs)Spring security - Zugriff für autorisierten Benutzer verweigert

Hier ist mein Frühling Sicherheitskonfiguration:

<http auto-config="true" use-expressions="true"> 

     <intercept-url pattern="/welcome*" access="hasRole('ADMIN')" /> 

     <!-- access denied page --> 
     <access-denied-handler error-page="/403" /> 

     <form-login login-page="/login" 
      default-target-url="/welcome" 
      authentication-failure-url="/login?error" 
      username-parameter="emailId" 
      password-parameter="pwd" /> 
     <logout logout-success-url="/login?logout" /> 
    </http> 

Hier ist der letzte Teil der Konsolenprotokolle:

2016-05-31 12:37:39 DEBUG FilterSecurityInterceptor:348 - Previously Authenticated: org.springframew[email protected]2586e756: Principal: [email protected]: Username: [email protected]; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted **Authorities: ADMIN**,USER-EX; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]fffd3270: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: EF69C8E091A4AFEA8B043CC29AF29AE0; Granted Authorities: ADMIN, USER-EX 
2016-05-31 12:37:39 DEBUG AffirmativeBased:66 - Voter: org.sp[email protected]6eb2a0ec, returned: -1 
2016-05-31 12:37:39 DEBUG ExceptionTranslationFilter:186 - Access is denied (user is not anonymous); delegating to AccessDeniedHandler 
org.springframework.security.access.AccessDeniedException: Access is denied 

Wie Sie der Benutzer sehen kann, sagt das Protokoll authentifiziert und hat „ADMIN“ Zugang und sollte die/Begrüßungsseite anzeigen können, sondern dass isn‘ t passiert.

Jede Hilfe hier würde sehr geschätzt werden.

Frühling Version - 4.2.6 Spring Security - 4.1.0 Java - 1.8

+0

LynAs

+0

Und du verwendest spring 4 also benutze java config https://www.youtube.com/watch?v = gTDNgD1Iz6c – LynAs

+0

@LynAs korrigiert meinen Tippfehler. Aber das Problem besteht immer noch. – javaGirl243

Antwort

0

Turns Es war eine Single "/", die Schwänzer spielte.

Changed<intercept-url pattern="/welcome*" access="hasRole('ADMIN')" />zu<intercept-url pattern="/welcome/*" access="hasRole('ADMIN')" />

ich Tutorials gesehen haben, wo das Muster "/ abc/**" jemand sagen, der Unterschied zwischen mir einzelnen * und verdoppeln kann, ist? Danke

+0

Um eine neue Frage zu stellen, benutzen Sie die Schaltfläche "Frage stellen" oben auf der Seite. Sie können auf diese Frage verlinken, wenn es hilft, Kontext bereitzustellen. –

0

Sie haben erwähnt Genehmigung nicht für "/ welcome"

Ex:

<intercept-url pattern="/welcome" access="isAuthenticated()" /> 
+0

Ich habe dies hinzugefügt (bearbeitet den Tippfehler tatsächlich), aber das Problem besteht weiter. – javaGirl243

Verwandte Themen