2017-03-09 75 views
-2

我想學習Spring安全性,並且遇到了問題。如何在Spring安全中登錄後訪問資源?

我有一個前端項目&後端項目。

前端項目中使用Node.js的HTTP服務器在localhost:8000

後端項目使用Spring啓動Tomcat的本地主機上:8090

我只是添加春季安全到我的後端項目。

現在的問題是我登錄login.html,並重定向到index.html,但在index.html我想訪問資源,在我的後端項目,但春天安全總是給我401錯誤,如果我輸入url(例如http://localhost://8090/getName),瀏覽器會改變,並要求我輸入用戶名和密碼。完成後,我輸入另一個網址(http://localhost://8090/getName2),我得到了正確的結果。似乎我沒有登錄。我的問題是什麼?

這裏是我的Spring配置:

@Override 
protected void configure(HttpSecurity http) throws Exception{ 

    http 
      .httpBasic() 
      .and() 
      .authorizeRequests() 
      .anyRequest().authenticated() 
     ; 
} 

    @Override 
public void configure(WebSecurity web) throws Exception { 
    web.ignoring().antMatchers(HttpMethod.OPTIONS, "/**"); 
} 

,這是我的控制器

@RequestMapping("/login") 
    String login(Principal principal){ 
     return principal.getName(); 
    } 

,這是我的弗朗端登錄頁面的JS,我就用角JS

loginApp.controller('navigation', function($rootScope, $http, $location, $scope, $window) { 

$scope.login = function() { 
    var h = {authorization : "Basic "+ btoa($scope.credentials.username + ":" + $scope.credentials.password)    }; 
    $http.get('http://localhost:8090/login/',{headers : h}).then(function(response) { 
     onsole.log(response.data); 
     $window.location.href='/index.html'; 
    }); 
}; 
    }); 
+0

請查看[編輯歷史](https://stackoverflow.com/posts/42699479/revisions)查看需要編輯多少才能使其可讀。我們並不要求人們在這裏使用完美的英語,但如果你喜歡全小寫和txtspk,Stack Overflow可能不適合你。 – halfer

+0

- 我對此感到抱歉。這是因爲我還是不習慣'使用statckoverfolw'。感謝您的提醒。我稍後會關注這一點。 – Dade

回答

相關問題