我使用的是春季啓動,對於彈簧安全性來說很新,但我希望我的Web應用程序具有基本的安全性。我所做的是增加我的pom.xml所需的依賴,並將此Java類到我的項目:春季安全 - 不訪問數據庫
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**")
.hasRole("USER")
.and()
.formLogin();
}
}
運行我的Web應用程序後,我遇到了登錄頁面,在這裏我把用戶/密碼,然後轉到我的Web應用程序。但是,這些命令不起作用。我正在推送一些按鈕,它們會將信號發送到我的MySql數據庫,但沒有任何反應。這就像前端沒有連接到後端。我在前端使用AngularJS,在頁面之間導航的View Controller。其他應用程序是基於REST的。任何想法爲什麼會發生?
後來編輯:現在我明白了,我的問題是驗證後,我的終端上有403個狀態碼。任何想法我可以修復它?我的POST請求沒有得到授權,我的GET請求可以正常工作......以下是我的一些POST端點:/ event/buy_ticket/{id},/ ticket// cancel_ticket/{ID}
angular.min.js:101 POST http://localhost:8080/event/buy_ticket/2 403()
我甚至想明確地說,它允許它,但我仍然得到403 ...
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**","/event/buy_ticket/2")
.permitAll()
.and()
.formLogin();
後來後來的後來編輯:
禁用CSRF工作
不,驗證碼有效。問題隨之而來,當我在頁面上做事情時什麼都沒有發生 – Gimv13
你是否從你的api端點獲得了403個響應? –
是的,我得到403 – Gimv13