我想學習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';
});
};
});
請查看[編輯歷史](https://stackoverflow.com/posts/42699479/revisions)查看需要編輯多少才能使其可讀。我們並不要求人們在這裏使用完美的英語,但如果你喜歡全小寫和txtspk,Stack Overflow可能不適合你。 – halfer
- 我對此感到抱歉。這是因爲我還是不習慣'使用statckoverfolw'。感謝您的提醒。我稍後會關注這一點。 – Dade