2016-08-12 4 views
3

ich mit Tutorial bin arbeiten, die beschreibt, wie Single-Seite app mit Spring Stiefel, Spring Security und AngularJS ein modulares ProjektFrühling Stiefel mit AngularJS Logout Fehler

https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/oauth2-vanilla

und dieses Projekt

schreiben

https://github.com/sharmaritesh/spring-angularjs-oauth2-sample

Ich kann den aktuell angemeldeten Benutzer nicht abmelden. Wenn Sie auf den Link "Abmelden" klicken, sehen Sie, dass sich die Startseite ändert (die Begrüßung wird nicht mehr angezeigt), sodass der Benutzer nicht mehr mit dem Benutzeroberflächenserver authentifiziert wird. Klicken Sie jedoch auf "Login" und Sie müssen den Authentifizierungs- und Genehmigungszyklus auf dem Autorisierungsserver nicht erneut durchlaufen (weil Sie sich nicht abgemeldet haben).

Ich bin neu in Spring und möchte, dass einige Benutzer abgemeldet werden könnten und wieder auf eine Login-Seite kommen. Bitte jemand könnte mir helfen oder einen Vorschlag machen, um dieses Problem zu lösen?

Antwort

0

es ist unser Projekt code.its funktioniert gut für uns. probiere das einmal aus.

Sicherheitskonfiguration:

@Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.httpBasic().and().authorizeRequests().antMatchers("/public/**") 
       .permitAll().antMatchers("/admin/**").hasAuthority("admin") 
       .antMatchers("/user/**").hasAuthority("user") 
       .and() 
       .logout() 
       // Logout requires form submit. Bypassing the same. 
       .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) 
       .logoutSuccessUrl("/index.html").and() 
       .addFilterAfter(new CsrfHeaderFilter(), CsrfFilter.class) 
       .csrf().disable();/* 
           * requireCsrfProtectionMatcher(new 
           * CsrfRequestMatcher()) 
           * .csrfTokenRepository(csrfTokenRepository()); 
           */ 

    } 

AngularJS:

$scope.logout = function() { 
       $http.get('/logout').then(function() { 

        $location.url('/'); 
       }) 
      } 

Routing:

app.config([ '$routeProvider', function($routeProvider) { 

    $routeProvider.when('/admin', { 
     templateUrl : 'admin.html', 

    }).when('/dashboard', { 
     templateUrl : 'dashboard.html' 
    }).when('/preferences', { 
     templateUrl : 'preferences.html', 
    }).otherwise('/', { 
     templateUrl : 'index.html', 
    }) 
} ]); 
+0

Hallo naresh vadlakonda, danke Ihnen für Ihre Antwort, ich versuche, das zu verwenden, aber ist nicht zu lösen mein Problem. Bitte haben Sie versucht, in einem GitHub-Code-Link zu verwenden, dass ich auf meine Problembeschreibung legte? Danke – user2657234

Verwandte Themen